最近因为,科研需要,接触上了Nagios,这里,我将安装笔记做个详解。为自己后续需要和博友们学习!
VMware workstation 11 的下载
VMWare Workstation 11的安装
CentOS 6.5的安装详解
CentOS下的防火墙关闭
CentOS 6.5静态IP的设置(NAT和桥接联网方式都适用)
前期博客,大家自行去看,能进入搜索来安装Nagios的博友们,相信已经有一定基础了。
我这里是,先在虚拟机里安装了两台CentOS6.5,然后,配置了静态ip和连网。这里很简单,不多赘述。
我这里,自己新建过nagios的用户和用户组。
比如拿nagios2这台机器而言。
[root@nagios2 ~]# groupadd nagios
[root@nagios2 ~]# useradd -m -g nagios nagios
[root@nagios2 ~]# passwd nagios
Changing password for user nagios.
New password: (我的密码是nagios)
BAD PASSWORD: it is based on a dictionary word
Retype new password: (我的密码是nagios)
passwd: all authentication tokens updated successfully.
1.进行环境安装
#yuminstall -y gcc glibcglibc-common gd gd-devel xinetd openssl-devel httpd php
2.进行selinux设置
SELINUX=disabled
3.建立用户和用户组
新建用户nagios和用户组nagios,并修改/usr/local/nagios是所属组和所属用户。
[root@nagios1 nagios]# pwd
/home/nagios
[root@nagios1 nagios]# useradd -s /sbin/nologin nagios
[root@nagios1 nagios]# mkdir /usr/local/nagios
[root@nagios1 nagios]# chown -R nagios:nagios /usr/local/nagios 并将nagios以及apache用户加入到nagcmd组中,确保nagios和apache有权限。
[root@nagios1 nagios]# groupadd nagcmd
[root@nagios1 nagios]# usermod -G nagcmd nagios
[root@nagios1 nagios]# usermod -G nagcmd apache
4.下载nagios压缩包(可在线,也可以离线)
我这里,在/home/nagios家目录下,下载。
[root@nagios1 nagios]# wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-4.0.8.tar.gz
得到
解压缩和进入目录
[root@nagios1 nagios]# tar –zxvf nagios-4.0.8.tar.gz
[root@nagios1 nagios]# cd nagios-4.0.8 进行初始化和建立编译的环境
[root@nagios1 nagios-4.0.8]# pwd
/home/nagios/nagios-4.0.8
[root@nagios1 nagios-4.0.8]# ./configure –prefix=/usr/local/nagios –with-command-group=nagcmd
[root@nagios1 nagios-4.0.8]# make all (这是在,安装二进制文件)
[root@nagios1 nagios-4.0.8]# make install (这是在,初始化脚本)
[root@nagios1 nagios-4.0.8]# make install-init (这是在,示例配置文件)
[root@nagios1 nagios-4.0.8]# make install-commandmode (这是在,设置目录权限)
然后,完成上述之后,执行
[root@nagios1 nagios-4.0.8]# ls /usr/local/nagios
bin etc include libexec sbin share var
[root@nagios1 nagios-4.0.8]#
能够在/usr/local/nagios的目录下面看到这些目录(bin etc sbin share var)就说明nagios安装成功了。
注意:安装完成之后,先不要急着去启动nagios,因为还有一些操作需要执行。
5、安装nagios的web配置文件
[root@nagios1 nagios-4.0.8]# pwd
/home/nagios/nagios-4.0.8
[root@nagios1 nagios-4.0.8]# make install-webconf
安装完成以后是默认安装到Apache的conf.d的目录下的。
(Apache的服务就是httpd,这个服务我们在一开始的时候就已经通过yum安装过了。在这个版本里面httpd是集成在系统内的,所以可以直接安装。)
6.使用apache来创建基本的web页认证方式
在apache中使用基本认证的方式创建一个admin的用户用于nagios的web界面的登录。
注意记住你所设置的登录口令,而该用户会的帐号和密码会被存储。
[root@nagios1 nagios-4.0.8]# pwd
/home/nagios/nagios-4.0.8
[root@nagios1 nagios-4.0.8]# htpasswd -c /usr/local/nagios/etc/htpasswd.users admin
New password: (因为,用户名是admin,所以选择密码也是admin,为了方便记忆)
Re-type new password:
Adding password for user admin
[root@nagios1 nagios-4.0.8]#
设置完成之后,在nagios主程序安装完成之后,会自动将相关apache的配置文件放到/etc/httpd/conf.d/下面,而文件名是nagios.conf文件内容如下:
[root@nagios1 nagios-4.0.8]# pwd
/home/nagios/nagios-4.0.8
[root@nagios1 nagios-4.0.8]# vim /etc/httpd/conf.d/nagios.conf
# SAMPLE CONFIG SNIPPETS FOR APACHE WEB SERVER
#
# This file contains examples of entries that need
# to be incorporated into your Apache web server
# configuration file. Customize the paths, etc. as
# needed to fit your system. ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin" <Directory "/usr/local/nagios/sbin">
# SSLRequireSSL
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
# Order deny,allow
# Deny from all
# Allow from 127.0.0.1
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users
Require valid-user
</Directory> Alias /nagios "/usr/local/nagios/share" <Directory "/usr/local/nagios/share">
# SSLRequireSSL
Options None
AllowOverride None
Order allow,deny
Allow from all
# Order deny,allow
# Deny from all
# Allow from 127.0.0.1
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users
Require valid-user
</Directory>
以上,这就意味着只有通过认证用户才可以通过http访问/usr/local/nagios/share以及/usr/local/nagios/sbin目录下的内容。
而这个能够通过认证的用户也就是admin,之后可以重启apache来应用配置:
[root@nagios1 nagios-4.0.8]# pwd
/home/nagios/nagios-4.0.8
[root@nagios1 nagios-4.0.8]# service httpd restart
[root@nagios1 nagios-4.0.8]# chkconfig –-level 235 httpd on
7.nagios插件nagios-plugins-2.0.3.tar.gz的安装
为什么需要安装这个插件呢?
刚才已经提到Nagios主程序只是一个控制中心,而能够起到服务监测和系统监测等功能的是众多Nagios的插件,没有插件的Nagios系统其实只是一个空壳。因此在安装了Nagios平台之后我们还需要安装插件。
[root@nagios1 nagios-4.0.8]# pwd
/home/nagios/nagios-4.0.8
[root@nagios1 nagios-4.0.8]# wget http://nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gz
解压缩和进入目录
[root@nagios1 nagios]# pwd
/home/nagios
[root@nagios1 nagios]# tar -zxvf nagios-plugins-2.0.3.tar.gz
[root@nagios1 nagios]# cd nagios-plugins-2.0.3
[root@nagios1 nagios-plugins-2.0.3]# pwd
/home/nagios/nagios-plugins-2.0.3
[root@nagios1 nagios-plugins-2.0.3]# ./configure –prefix=/usr/local/nagios –with-nagios-user=nagios–with-nagios-group=nagios
[root@nagios1 nagios-plugins-2.0.3]# make
[root@nagios1 nagios-plugins-2.0.3]# make install
然后把nagios加入到服务列表中以便在系统启动的时候自动启动:
[root@nagios1 nagios-plugins-2.0.3]# chkconfig –add nagios
[root@nagios1 nagios-plugins-2.0.3]# chkconfig nagios on
8.检查配置文件的正确性并打开web访问
[root@nagios1 nagios-plugins-2.0.3]# pwd
/home/nagios/nagios-plugins-2.0.3
[root@nagios1 nagios-plugins-2.0.3]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg Nagios Core 4.0.8
Copyright (c) 2009-present Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Last Modified: 08-12-2014
License: GPL Website: http://www.nagios.org
Reading configuration data...
Read main config file okay...
Read object config files okay... Running pre-flight check on configuration data... Checking objects...
Checked 8 services.
Checked 1 hosts.
Checked 1 host groups.
Checked 0 service groups.
Checked 1 contacts.
Checked 1 contact groups.
Checked 24 commands.
Checked 5 time periods.
Checked 0 host escalations.
Checked 0 service escalations.
Checking for circular paths...
Checked 1 hosts
Checked 0 service dependencies
Checked 0 host dependencies
Checked 5 timeperiods
Checking global event handlers...
Checking obsessive compulsive processor commands...
Checking misc settings... Total Warnings: 0
Total Errors: 0 Things look okay - No serious problems were detected during the pre-flight check
[root@nagios1 nagios-plugins-2.0.3]#
如果大家最后的结果和我上面的一样没有报错,就可以启动nagios服务了。
注意:
另外建议在较大量修改配置文件后,也可以用这条命令来检测是否配置完全正确,然后再启动nagios的服务。
9、开启nagios和关闭nagios
之后可以在浏览器*问链接http://192.168.80.160/nagios/,如果能够正常看到页面,证明nagios主程序和插件都安装和配置成功!点击“Hosts”的链接来查看你本机的监视详情。
[root@nagios1 nagios]# service iptables status
[root@nagios1 nagios]# service iptables stop
[root@nagios1 nagios]# service nagios start
如果在开启nagios时,出现上述的情况。则
解决方法:关闭selinux
修改/etc/sysconfig/selinux ,将SELINUX=disabled 保存后,reboot。(别忘记了重启它)
查看selinux状态sestatus -v
[root@nagios1 nagios]# pwd
/home/nagios
[root@nagios1 nagios]# ll
total 4372
drwxrwxr-x. 18 nagios nagios 4096 Mar 26 00:38 nagios-4.0.8
-rw-rw-r--. 1 nagios nagios 1805059 Aug 12 2014 nagios-4.0.8.tar.gz
drwxr-xr-x. 15 nagios nagios 4096 Mar 26 00:50 nagios-plugins-2.0.3
-rw-rw-r--. 1 nagios nagios 2659772 Mar 26 00:00 nagios-plugins-2.0.3.tar.gz
[root@nagios1 nagios]# service nagios stop
Stopping nagios:. done.
[root@nagios1 nagios]#
如果监控的页面出现下面的错误提示,那么就需要修改nagios的配置文件来进行修复了。
即:vi /usr/local/nagios/etc/cgi.cfg
找到use_authentication=1 #把1修改为0,然后保存
然后重新启动服务:# service nagios restart
# service httpd restart
然后再试着访问就没有问题了。
还有,如果没有在你的本地电脑上打开不了这个web界面,那么可能需要关闭linux里面的防火墙,命令如下:
# service iptables status 查看防火墙状态
# service iptables stop 关闭防火墙