在Apache中使用基本认证的方式创建一个nagiosadmin的用户用于Nagios的WEB界面登录。记下你所设置的登录口令。该用户登录口令和账号信息会存储到/usr/local/nagios/etc/passwd.users文件中:
# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin [ Enter ]在Nagios主程序安装之后会自动将相关apache配置文件放到/etc/http/conf.d目录下,文件名是nagios.conf。文件内容如下:
# cat /etc/httpd/conf.d/nagios.conf [ Enter ] 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.users 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.users Require valid-user这就意味着只有通过认证用户才可以通过http访问/usr/loca/nagios/share以及/usr/local/nagios/sbin目录下内容。而这个能够通过认证的用户也就是nagiosadmin,之后可以重启apache来应用配置:
# service httpd restart [ Enter ] # chkconfig --level 345 httpd on [ Enter ]刚才已经提到Nagios主程序只是一个控制中心,而能够起到服务监测和系统监测等功能的是众多Nagios的插件,没有插件的Nagios系统其实只是一个空壳。因此在安装了Nagios平台之后我们还需要安装插件。
Nagios插件同样是在其官方网站下载,目前版本是1.4.12。我将下载的源码包放到/usr/local目录下,按照下面的步骤进行解压,编译和安装:
# tar -zxf nagios-plugins-1.4.12.tar.gz [ Enter ] # cd nagios-plugins-1.4.12 [ Enter ] # ./configure --with-nagios-user=nagios --with-nagios-group=nagios [ Enter ] # make [ Enter ] # make install [ Enter ]然后把Nagios加入到服务列表中以使之在系统启动时自动启动:
# chkconfig --add nagios [ Enter ] # chkconfig nagios on [ Enter ]执行下面的命令来验证Nagios的样例配置文件:
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg [ Enter ]如果最后的结果类似下面而没有报错,可以启动Nagios服务:
Total Warnings: 0 Total Errors: 0 Things look okay - No serious problems were detected during the pre-flight check # service nagios start之后可以在浏览器上访问链接,如果能够正常看到页面,证明主程序和插件都安装和配置成功(如图pic32.png所示)!点击“Service Detail”的链接来查看你本机的监视详情。此时可能需要给点时间让Nagios来检测你机器上所依赖的服务(如图pic33.png-pic34.png所示)。
实际上在装完Nagios之后此时网络监测工作只是刚刚开始而已,毫无疑问用户的需求不是只监测本地系统,而是大量的远程服务器上的系统状况以及服务运行状况。
有几种不同方式来监测远程Linux/UNIX服务器的服务与属性。
其中之一是应用共享式SSH密钥,即运行check_by_ssh插件来执行对远程主机的检测。这种方法会导致安装有Nagios的监测服务器产生很高的系统负荷,尤其是要同时监测成百个主机中的上千个服务时,这是因为要建立大量的SSH连接的总开销会很高。
另一种方法是使用NRPE外部构件监测远程主机。NRPE外部构件可以在远程的Linux/Unix主机上执行插件程序。如果是要象监测本地主机一样对远程主机的磁盘利用率、CPU负荷和内存占用率等情况下,NRPE外部构件将非常有用。
提到“外部构件”这个概念的时候需要说明一下,Nagios有许多"外部构件"软件包可供使用。外部构件可以扩展Nagios的应用并使之与其他软件集成,而且能够通过WEB接口来实现管理配置文件,监测远程主机(*NIX,Windows等),对远程主机的强制监测,减化并扩展告警逻辑等功能。
NRPE是一个可在远程Linux/Unix主机上执行的插件的外部构件包。如果你需要监测远程的主机上的本地资源或属性,如磁盘利用率、CPU负荷、内存利用率等时是很有用的。最终效果和用check_by_ssh插件来实现的功能一样,但是他不需要占用更多的监测主机的CPU负荷,所以当你需要监测大量的主机时这个构件将起到很重要的作用(如图pic35.png所示)。