天天看点

Nagios④:登陆web界面

之前分了三篇文章说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也是一样。

<a href="http://s4.51cto.com/wyfs02/M00/7E/EF/wKiom1cNFrbwWnJ0AABhG9dxzwI984.png" target="_blank"></a>

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

<code>#setting</code>

<code>ScriptAlias </code><code>/nagios/cgi-bin</code> <code>"nagios安装路径/sbin"</code>

<code>&lt;Directory </code><code>"/usr/local/nagios/sbin"</code><code>&gt;  </code>

<code>AuthType Basic  </code>

<code>Options ExecCGI              </code><code>#通过execchi来解析</code>

<code>AllowOverride None  </code>

<code>Order allow,deny  </code>

<code>Allow from all  </code>

<code>AuthName </code><code>"Nagios Access"</code>                                <code>#网页登陆时的提示  </code>

<code>AuthUserFile </code><code>/nagios</code><code>安装路径</code><code>/etc/htpasswd</code><code>.named             </code><code>#用于此目录访问身份验证的文件  </code>

<code>Require valid-user</code>

<code>&lt;</code><code>/Directory</code><code>&gt;</code>

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

<code>&lt;Directory </code><code>"nagios安装路径/share"</code><code>&gt;  </code>

<code>Options None  </code>

<code>AllowOverride None </code>

<code>Order allow,deny </code>

<code>AuthName </code><code>"nagios Access"</code>  

<code>AuthUserFile </code><code>/nagios</code><code>安装路径</code><code>/etc/htpasswd</code><code>.named  </code>

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

<a href="http://s1.51cto.com/wyfs02/M02/7E/EC/wKioL1cNG8rAUFvhAAIZZ4AHE2I578.png" target="_blank"></a>

可能的一些问题

问题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,看看具体哪里有问题。

 本文转自 苏幕遮618 51CTO博客,原文链接:http://blog.51cto.com/chenx1242/1763235