Nagios 无法启动,现在也无法停止!

Nagios 无法启动,现在也无法停止!

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

日志中的错误是:

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

因此,我检查了一下,发现 /var/run 中没有 Nagios 的 pid 文件。我创建了一个并赋予它以下权限:

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

Nagios 随后启动并且似乎运行正常。

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

当我发出命令“service nagios stop”时,我得到[FAILED],但是没有任何内容输出到日志中,并且服务仍然运行。

关于如何立即停止该服务,您有什么想法吗?

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

答案1

如果你不想更改/var/运行文件夹本身,你可以配置 nagios 将锁定文件存储在系统的任何位置,方法是将下面的行添加到你的nagios配置文件文件。只要你指向锁定文件选择 nagios 有权访问的目录来创建、修改和删除文件,然后您就可以开始了。

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

lock_file=/usr/lib/nagios/var

答案2

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

$ ps aux | grep nagios

然后您可以使用此命令重新启动该服务:

kill -HUP <nagios_pid>

并停止:

kill <nagios_pid>

要自动停止 nagios,您应该将其pid放入 中/var/run/nagios.pid。检查一下。

答案3

正如 Bart B 上面所说,不是chmod 777 永远不要在生产系统上对任何目录进行修改,除非有充分的理由并且您知道自己在做什么。这是一个快速修复,但这是不是解决方案。

至少对我来说,这个问题的正确解决方案是更新 nagios.cfg Nagios 配置文件(我的是 /etc/nagios/nagios.cfg),并改变这行:

   lock_file=/var/run/nagios.pid

更改为:

   lock_file=/var/nagios/nagios.pid

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

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

   service nagios restart

那就可以了。

答案4

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

它在我的 Nagios 服务器上运行。

相关内容