我们在另外两台服务器上运行了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并重新启动但仍然没有。请帮忙!
答案 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的简单方法:
getenforce
,应返回Enforcing。setenforce 0
。可选:
setenforce 1
。答案 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
希望这会有所帮助