之前分了三篇文章说nagios的安装启动内部文件构造等等,总之说了那么多就是为了这个重头戏----使用nagios监控服务器的状态。


Nagios与Apache的结合

首先登陆nagios不是随便登陆的,肯定是有账号密码的人才可以登陆到nagios界面,因为我们前面是使用了apache作为nagios的伙伴,那么我们需要先在apache下生成一个账号密码。


在apache的bin文件夹下,#./htpasswd -c /nagios安装路径/etc/htpasswd.users nagiosadmin,回车之后让我们输出密码以及再次确认密码,如果密码两次输入的同样的且无错误,就会提示“Adding password for user nagiosadmin”,上面那句命令后面的这个nagiosadmin就是我们登陆的账号。因为主配置文件nagios.cfg里默认的账号就是nagiosadmin,各位可以自行更改,但是要在主配置文件里有所添加。


如果在生成密码文件的时候,出现错误:./htpasswd: error while loading shared libraries: libapr-1.so.0: cannot open shared object file: No such file or directory。那就#find / -name libapr-1.so.0,然后会得到两个文件:“/usr/local/lib/libapr-1.so.0” 和 “/home/test/dev/apr-1.4.5/.libs/libapr-1.so.0”。然后将/home文件夹的那个libapr-1.so.0文件复制到/usr/lib64/里就解决问题了。


插播结束,这个时候返回到nagios的etc文件夹下就会看到生成的这个htpasswd.users。


然后返回到apache,把apache的httpd.conf文件做几处更改。

第一,找到User,把原来的daemon改成nagios,Group也是一样。

wKiom1cNFrbwWnJ0AABhG9dxzwI984.png


第二,在整篇httpd.conf文章的末尾处加上这样几行字:


#setting
ScriptAlias /nagios/cgi-bin "nagios安装路径/sbin"
<Directory "/usr/local/nagios/sbin">  
AuthType Basic  
Options ExecCGI              #通过execchi来解析
AllowOverride None  
Order allow,deny  
Allow from all  
AuthName "Nagios Access"                                #网页登陆时的提示  
AuthUserFile /nagios安装路径/etc/htpasswd.named             #用于此目录访问身份验证的文件  
Require valid-user
</Directory>

Alias /nagios "/nagios安装路径/share"       #当访问到/nagios的时候就是访问/share这个文件夹

<Directory "nagios安装路径/share">  
AuthType Basic  
Options None  
AllowOverride None 
Order allow,deny 
Allow from all  
AuthName "nagios Access"  
AuthUserFile /nagios安装路径/etc/htpasswd.named  
Require valid-user
</Directory>

把httpd.conf保存退出之后,在apache的bin文件夹下#./apachectl -k start启动apache服务,然后再#service nagios start 启动nagios进程。两个进程开启成功之后,打开浏览器,输入127.0.0.1/nagios,回车就会提示请输出账号和密码,而这个账号密码就是我们刚刚生成的hkpasswd.userd的内容。输入完密码之后,就会看到nagios的主页面了。至此大功告成!


wKioL1cNG8rAUFvhAAIZZ4AHE2I578.png


可能的一些问题

问题1.在web界面里点击map的时候,出现“Not Found
The requested URL /nagios/cgi-bin/statusmap.cgi was not found on this server.”的错误。

解决:这个错误一般来说在最新版的nagios都没有了,如果用的是稍微早一点的nagios可能会有这样的现象,#yum install gd#yum install gd-devel,然后重新#./configure ; make ; mv statusmap.cgi /nagios安装路径/sbin。


问题2.查看帮助文档时,看不到图片。

原因是url错误,图片源地址 http://nagios_ip/pub/images/reachability1.png,但是实际地址却是 /usr/local/nagios/share/docs/images/reachability1.png

解决:配置apache加入别名:Alias /pub "/usr/local/nagios/share/docs"

,然后重启apache,问题就解决


问题3.调用外部命令错误,可能权限不够。

临时解决:#chown -R nagios.nagios /nagios安装路径/var/rw       然后#chmod -R 777 /nagios安装路径/var/rw。这是一种临时解决方法,重启了nagios之后,就无效了。


问题4.启动nagios出现下面错误“Starting nagios:CONFIG ERROR!  Start aborted.  Check your Nagios configuration.“

解决:配置文件出错了,#/nagios安装路径/bin/nagios -v /nagios安装路径/etc/nagios.cfg,看看具体哪里有问题。