Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux Nagios-错误:无法读取对象配置数据_Linux_Ubuntu_Nagios - Fatal编程技术网

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

Linux Nagios-错误:无法读取对象配置数据,linux,ubuntu,nagios,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

我们在另外两台服务器上运行了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并重新启动,但仍然没有结果。请帮忙

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

chgrp -R webserver_user /var/cache/nagiosx/  

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

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

main_config_file=/etc/nagios3/nagios.cfg
运行nagios作为守护进程

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

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

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


吸取的教训。

在我的例子中是/var/cache/nagios3上的权限。您可以通过输入CGI来确认它,即
sudo su-s/bin/sh-c'REQUEST\u METHOD=GET strace-fo/tmp/strace.log/usr/lib/CGI-bin/nagios3/status.CGI'www-data

在我的情况下,web服务器没有访问
/var/log/nagios/nagios.log
的权限,我得到这个错误是因为selinux权限(尽管没有任何拒绝的痕迹被记录到syslog)。测试问题是否为selinux的简单方法:

  • 加载页面,确认失败
  • 运行命令
    getenforce
    ,应返回Enforcing
  • 运行命令
    setEnforce0
  • 重新加载页面。如果现在可以工作,则错误与selinux权限有关
  • 可选:

  • 运行命令
    setEnforce1
  • 重新加载页面,它应该会再次失败

  • 有一个SELinux问题,如果你不想关闭安全系统, 您可以为这种情况创建规则

    以人类可读的格式查看错误

    audit2allow -a -w 
    
    让audit2allow创建te允许规则

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

    刷新并查看其工作情况

    在使用EPEL的RPM软件包从Nagios 3.5更新到Nagios 4.3后,出现了相同的问题。解决了安装包含SELinux配置文件的相应软件包(
    yum-install-nagios-SELinux
    )的问题。有关更多详细信息:

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


    希望这有帮助

    感谢Apache作为www数据运行,这是该目录的用户is
    nagios www data
    和is-rw-r--r--on objects.cache和-rw-rw-r--on status.dat尝试以下链接谢谢,选中了cgi.cfg,它已经有了这个设置
    main_config_file=/etc/nagios3/nagios.cfg
    还有其他想法吗?其他论坛建议这个错误可能是“任何东西”…酷!感谢添加。我没有答案-但是我很好奇为什么有人会故意使用Nagios3,而4已经发布了很长一段时间了(有这么多的改进),为什么这会成为这么多发行版的默认版本(我们不维护发行版包)。只是发泄:)