Nagios Woudn'Start,现在不会停止!

我在运行Nagios的CentOS服务器上运行了更新,在更新之后,Nagios无法启动。

日志中的错误是:

无法获取locking文件/var/run/nagios.pid:权限被拒绝

所以,我查了一下,在/ var / run中没有Nagios的pid文件。 我创build了一个,并给它以下权限:

-rwxr – r– 1 nagios nagios 6 5月31日11:58 nagios.pid

然后Nagios开始,似乎正常运行。

唯一的问题是,它现在拒绝停止,所以我不能重新启动它来添加新的服务器和服务来监控!

当我发出命令“service nagios stop”时,我得到[FAILED],但是没有任何东西被输出到日志中,并且服务保持不变。

关于如何让服务停止的任何想法?

我正在运行从RPMForge存储库通过yum安装的RPM版本。 服务器是CenotOS 5.5。

如果您不想更改/ var / run文件夹本身的权限,则可以将nagiosconfiguration为将locking文件存储在系统的任何位置,方法是将以下行添加到nagios.cfg文件中。 只要你将lock_file选项指向nagios有权创build的目录,修改和删除文件,那么你应该很好。

您甚至可以通过创build一个如下目录将锁文件存储在您的nagios安装目录中: / usr / lib / nagios / var

lock_file=/usr/lib/nagios/var 

首先,找出nagios进程的pid是什么:

 $ ps aux | grep nagios 

然后你可以使用这个命令重新启动服务:

 kill -HUP <nagios_pid> 

这停下来:

 kill <nagios_pid> 

要自动停止nagios,你应该在/var/run/nagios.pid有它的pid 。 核实。

就像Bart B上面所说的那样,除非有很好的理由,否则不要在生产系统上调用任何目录777,而且你知道自己在做什么。 这是一个快速的解决scheme,但这不是解决scheme。

至less对我来说,这个问题的正确解决scheme是更新nagios.cfg Nagiosconfiguration文件(我的是/etc/nagios/nagios.cfg),并更改这一行:

  lock_file=/var/run/nagios.pid 

对此:

  lock_file=/var/nagios/nagios.pid 

locking文件在/etc/init.d/nagios服务configuration文件中设置为/var/nagios/nagios.pid,但显然被nagios.cfg中的上述值覆盖

然后你可以重新启动Nagios服务/守护进程:

  service nagios restart 

这应该做到这一点。

在Centos / RedHat 7上,你不应该直接写入/ var / run目录,但是你有一个子目录/ var / run / nagios。 检查lock_file选项,而不是像这样:

 lock_file=/var/run/nagios/nagios.pid 

如果Nagios服务器在启动/停止CentOS 6.x时遇到问题,我使用以下命令: /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg

它在我的Nagios服务器上工作。

怎么样:

/etc/init.d/nagios停止

我得到了相同的行为更新到centos 5.5对于我来说,如果我改变/ var / 777的权限:

chmod 777 / var / run

我知道这不是最好的黑客,但我没有太多时间来诊断问题。