之前分了三篇文章说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也是一样。
第二,在整篇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的主页面了。至此大功告成!
可能的一些问题
问题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,看看具体哪里有问题。