在做安装之前确认要对该机器拥有root权限。 确认你安装好的linux系统上已经安装如下软件包再继续。
Apache
GCC编译器
GD库与开发库
Openssl-devel
可以用yum命令来安装这些软件包,键入命令:
yum –y install httpd gcc glibc glibc�\common gd gd�\devel |
1.2.1 建立nagios账号
/usr/sbin/useradd nagios && passwd nagios |
创建一个用户组名为nagcmd用于从Web接口执行外部命令。将nagios用户和apache用户都加到这个组中。
/usr/sbin/groupadd nagcmd /usr/sbin/usermod �\G nagcmd nagios /usr/sbin/usermod �\G nagcmd apache |
1.2.2 下载nagios和插件程序包
下载Nagios和Nagios插件的软件包(访问http://www.nagios.org/download/ 站点以获得最新版本)
cd /usr/local/src wget http://nchc.dl.sourceforge.net/sourceforge/nagios/nagios�\3.0.6.tar.gz wget http://nchc.dl.sourceforge.net/sourceforge/nagiosplug/nagios�\plugins�\1.4.13.tar.gz |
1.2.3 编译与安装nagios
cd /usr/local/src tar zxvf nagios�\3.0.6.tar.gz cd nagios�\3.0.6 ./configure �\�\with�\command�\group=nagcmd �\ �\prefix=/usr/local/nagios make all make install make install�\init make install�\config make install�\commandmode |
验证程序是否被正确安装。切换目录到安装路径(这里是/usr/local/nagios),看是否存在 etc、bin、 sbin、 share、 var这五个目录,如果存在则可以表明程序被正确的安装到系统了。后表是五个目录功能的简要说明:
bin |
Nagios执行程序所在目录,nagios文件即为主程序 |
etc |
Nagios配置文件位置,初始安装完后,只有几个*.cfg-sample文件 3与2区别 对象配置文件都在etc/objects目录下 |
sbin |
Nagios Cgi文件所在目录,也就是执行外部命令所需文件所在的目录 |
Share |
Nagios网页文件所在的目录 |
Var |
Nagios日志文件、spid 等文件所在的目录 |
var/archives |
Empty directory for the archived logs |
var/rw |
Empty directory for the external command file |
1.2.4 编译并安装nagios插件 nagios�\plugins
cd /usr/local/src tar zxvf nagios�\plugins�\1.4.13.tar.gz cd nagios�\plugins�\1.4.13 ./configure �\�\with�\nagios�\user=nagios �\�\with�\nagios�\group=nagios �\�\perfix=/usr/local/nagios make && make install |
验证:
ls /usr/local/nagios/libexec
会显示安装的插件文件,即所有的插件都安装在libexec这个目录下
1.2.5 配置WEB接口
方法一:直接在安装nagios时 make install�\webconf
创建一个nagiosadmin的用户用于Nagios的WEB接口登录。记下你所设置的登录口令,一会儿你会用到它。
htpasswd �\c /usr/local/nagios/etc/htpasswd.users nagiosadmin
重启Apache服务以使设置生效。
service httpd restart
方法二:在httpd.conf最后添加如下内容:
#setting for nagios 20090325 #setting by bbs.linuxtone.org ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin <Directory "/usr/local/nagios/sbin"> Options ExecCGI AllowOverride None Order allow,deny Allow from all AuthName "Nagios Access" AuthType Basic AuthUserFile /usr/local/nagios/etc/htpasswd //用于此目录访问身份验证的文件 Require valid-user </Directory>
Alias /nagios /usr/local/nagios/share <Directory "/usr/local/nagios/share"> Options None AllowOverride None Order allow,deny Allow from all AuthName "Nagios Access" AuthType Basic AuthUserFile /usr/local/nagios/etc/htpasswd //用于此目录访问身份验证的文件 Require valid-user </Directory> |
/usr/local/apache2/bin/htpasswd �\c /usr/local/nagios/etc/htpasswd test
New password: (输入12345)
Re�\type new password: (再输入一次密码)
Adding password for user test
查看认证文件的内容
less /usr/local/nagios/etc/htpasswd
test:OmWGEsBnoGpIc 前半部分是用户名test,后面是加密后的密码
本例添加的是test 用户名,需要改 cgi.cfg 配置文件,允许test用户
authorized_for_system_information=test authorized_for_configuration_information=test authorized_for_system_commands=test authorized_for_all_services=test authorized_for_all_hosts=nagiosadmin,test authorized_for_all_service_commands=test authorized_for_all_host_commands=test 如果有多用户,请用逗号格开 |
1.2.6 启动nagios
把Nagios加入到服务列表中以使之在系统启动时自动启动
chkconfig �\�\add nagios
chkconfig nagios on
验证Nagios的样例配置文件
/usr/local/nagios/bin/nagios �\v /usr/local/nagios/etc/nagios.cfg
如果没有报错,可以启动Nagios服务
service nagios start
1.2.7 更改SELinux设置
Fedora与SELinux(安全增强型Linux)同步发行与安装后将默认使用强制模式。这会在你尝试联入Nagios的CGI时导致一个"内部服务错误"消息。
如果是SELinux处于强制安全模式时需要做
getenforce
令SELinux处于容许模式
setenforce 0
如果要永久性更变它,需要更改/etc/selinux/config里的设置并重启系统。
不关闭SELinux或是永久性变更它的方法是让CGI模块在SELinux下指定强制目标模式:
chcon �\R �\t httpd_sys_content_t /usr/local/nagios/sbin/
chcon �\R �\t httpd_sys_content_t /usr/local/nagios/share/
1.2.8 测试
登录 http://localhost/nagios/ 输入用户名和密码就可以正常登录了
1.2.9 使用NRPE监控LINUX上的”本地信息”
1.在被监控主机上
增加用户
useradd nagios
设置密码
passwd nagios
2.安装nagios插件
tar �\zxvf nagios�\plugins�\***.tar.gz cd nagios�\plugins�\*** ./configure make make install chown nagios.nagios /usr/local/nagios chown �\R nagios.nagios /usr/local/nagios/libexec |
3.安装nrpe (监控机也安�b)
tar �\zxvf nrpe�\***.tar.gz cd nrpe�\2.8.1 ./configure make all make install�\plugin make install�\daemon make install�\daemon�\config /usr/local/nagios/libexec/check_nrpe �\H localhost |
会返回当前NRPE的版本
# /usr/local/nagios/libexec/check_nrpe �\H localhost NRPE v2.8.1 |
在监控与被监控机上启动NRPE:
/usr/local/nagios/bin/nrpe �\c /usr/local/nagios/etc/nrpe.cfg �\d |
连接远程NRPE:
/usr/local/nagios/libexec/check_nrpe �\H <IP_ADD> |
也就是在本地用check_nrpe连接nrpe daemon是正常的
注:为了后面工作的顺利进行,注意本地防火墙要打开5666能让外部的监控机访问
/usr/local/nagios/libexec/check_nrpe –h查看这个命令的用法
可以看到用法是check_nrpe –H 被监控的主机 �\c要执行的监控命令
注意:�\c后面接的监控命令必须是nrpe.cfg文件中定义的.也就是NRPE daemon只运行nrpe.cfg中所定义的命令
打开nrpe.cfg下的远程登入:
Vim /usr/local/nagios/nrpe.cfg Allowed_hosts=127.0.0.1,10.1.16.111 |
注意,两个IP地址中间是逗号