Nagios - 错误:无法读取对象配置数据

时间:2014-01-07 01:58:51

标签: linux ubuntu nagios

我们在另外两台服务器上运行了Nagios 3.2.0的工作版本,但是在这些新服务器上我们使用apt-get install安装它但是仍然遇到以下问题。 权限和配置文件都是默认安装,并且在将它与我们的Nagios工作版本进行比较时,一切似乎都是正确的......

注意:Nagios网站正在运行,但当我点击左侧的任何选项时,我得到了这个......

Error: Could not read object configuration data!  
Verify configuration options using the -v command-line option to check for errors. 
Check the Nagios log file for messages relating to startup or status data errors.

正在运行

sudo /usr/sbin/nagios3 -v /etc/nagios3/nagios.cfg

给出:

...
Total Warnings: 0
Total Errors:   0

Things look okay - No serious problems were detected during the pre-flight check

/var/log/nagios3/nagios.log没有错误,只是一堆:

...
[1389054450] Auto-save of retention data completed successfully.
[1389058050] Auto-save of retention data completed successfully.

不是权限问题要么尝试将所有内容更改为nagios用户和组,但没有运气:

drwxr-xr-x   4 root root    4096 2013-12-10 16:35 .
drwxr-xr-x 141 root root   12288 2014-01-06 16:27 ..
-rw-r--r--   1 root root    1905 2011-06-08 01:07 apache2.conf
-rw-r--r--   1 root root   12218 2011-06-08 01:08 cgi.cfg
-rw-r--r--   1 root root    2441 2011-06-08 01:08 commands.cfg
drwxr-xr-x   2 root root    4096 2013-12-10 16:35 conf.d
-rw-r--r--   1 root root      26 2013-12-10 16:35 htpasswd.users
-rw-r--r--   1 root root   43769 2011-06-08 01:08 nagios.cfg
-rw-r-----   1 root nagios  1293 2011-06-08 01:07 resource.cfg
drwxr-xr-x   2 root root    4096 2013-12-10 16:35 stylesheets

将其更改回root。

停止了Nagios并重新启动但仍然没有。请帮忙!

10 个答案:

答案 0 :(得分:3)

这是一个权限问题,webserver用户应该能够加入nagios目录结构。 尝试以下方法。假设您的Web服务器没有以root用户身份运行。

chgrp -R webserver_user /var/cache/nagiosx/  

并检查其他nagios目录以获取正确的权限。

答案 1 :(得分:2)

将nagios作为守护进程运行

/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg  

答案 2 :(得分:2)

几天前就解决了。很久以前,这些服务器上的Apache已经配置为以不同的用户身份运行,而不是www-data。这并没有解决我们当时遇到的问题,因此我们将其保留原样并忘记了apache。现在我们已经在Apache上运行Nagios,这导致了问题。 所以这最终是一个许可问题。

注意:检查是否是权限问题时,不要只检查文件和目录权限,检查需要访问权限的内容确实在其配置中以该用户身份运行。在这种情况下,它在/etc/apache2/envvars

中已更改

经验教训。

答案 3 :(得分:2)

在我的情况下(Nagios 4,Centos 7),由于selinux权限,我收到了此错误(尽管没有任何拒绝的痕迹记录到syslog中)。测试问题是否为selinux的简单方法:

  1. 加载页面,确认失败。
  2. 运行命令getenforce,应返回Enforcing。
  3. 运行命令setenforce 0
  4. 重新加载页面。如果它现在有效,则该错误与selinux权限有关。
  5. 可选:

    1. 运行命令setenforce 1
    2. 重新加载页面,它应该再次失败。

答案 4 :(得分:1)

存在SELinux问题,如果您不想关闭安全性, 你可以为这种情况创建一个规则。

以人类可读格式查看错误

audit2allow -a -w 

让audit2allow创建一个允许规则

audit2allow -a -M nagios-www
semange nagios-www.pp

刷新并看到它有效

答案 5 :(得分:0)

cgi配置文件/etc/nagios3/cgi.cfg中引用了nagios配置文件。检查该文件是否包含行

main_config_file=/etc/nagios3/nagios.cfg

答案 6 :(得分:0)

在我的情况下,它是/ var / cache / nagios3的权限。你可以通过strace CGI来确认它,即sudo su -s /bin/sh -c 'REQUEST_METHOD=GET strace -fo /tmp/strace.log /usr/lib/cgi-bin/nagios3/status.cgi' www-data

答案 7 :(得分:0)

就我而言,网络服务器无权访问/var/log/nagios/nagios.log

答案 8 :(得分:0)

使用EPEL的RPM软件包从Nagios 3.5更新到Nagios 4.3后出现同样的问题。解决了安装包含SELinux配置文件(yum install nagios-selinux)的相应软件包的问题。有关详细信息:https://serverfault.com/q/894349/217522

答案 9 :(得分:0)

在我的情况下,我必须为 objects.cache 文件带来更广泛的权限。在我的情况下,我的文件位于:  /usr/local/nagios/var/objects.cache

希望这会有所帮助