博客园  :: 首页  :: 管理

今天在安装完nagios后,通过nagios网页界面点击主机、服务、问题页面时、均报错,报错的内容都差不多、如点击服务,报错:

It appears as though you do not have permission to view information for any of the services you requested...  如下图所示: 
 
百度了下,好多文章基本都是一样,改/usr/local/nagios/etc/cgi.cfg文件里的一个参数 use_authentication=1 将1改为0,重启nagios即可。

这一项其实是nagios保证安全性的一个参数,虽方法可行,但有可能会带来安全上的隐患。

于是我仔细看了下这个文件里的内容,很快发现问题所在啦!原来之所以出现这样的提示,主要还是身份验证的问题。

当我们在安装nagios的时候、在有一步、我们会创建一个账号,此账号为我们登录nagios网页的用户名,命令如下:

[root@nagios_server ~]# htpasswd -c  /usr/local/nagios/etc/htpasswd.users nagiosadmin      //根据提示输入nagiosadmin用户的密码

nagiosadmin是我们用来登录nagios的管理员,而cgi.cfg就是用来验证管理员身份的。

如果我们生成的管理员用户不是nagiosadmin,验证的时候就会失败,也就会出现开始上图描述的那个错误了。

所以,我们现在只要把配置文件里的用户名改为实际的管理员用户名,保存,再重新启动nagios即可!如笔者创建的管理员账号为nagios_5201351

解法方法如下:

1、编辑/usr/local/nagios/etc/cgi.cfg文件,修改以下几个选项的值为自己创建的管理的用户,其实也可以直接在后面加上我们创建的用户名,用逗号隔开即可,如下所示:

authorized_for_system_information=nagiosadmin,nagios_5201351
authorized_for_configuration_information=nagiosadmin,nagios_5201351
authorized_for_system_commands=nagiosadmin,nagios_5201351
authorized_for_all_services=nagiosadmin,nagios_5201351
authorized_for_all_hosts=nagiosadmin,nagios_5201351
authorized_for_all_service_commands=nagiosadmin,nagios_5201351
authorized_for_all_host_commands=nagiosadmin,nagios_5201351