在 Centos 7 上安装 Nagios 4.0.2-服务启动失败

在 Centos 7 上安装 Nagios 4.0.2-服务启动失败

按照这里的说明http://linoxide.com/how-tos/install-configure-nagios-centos-7/(但下载 Nagios 4.0.2 而不是 4.0.7 - 我必须使用那个版本),我已经到了 Nagios 服务无法启动的地步。

我正在尝试的命令是 -

[root@my-server]# service nagios start
Starting nagios (via systemctl):  Job for nagios.service failed. See 'systemctl status     nagios.service' and 'journalctl -xn' for details.
                                                       [FAILED]

[root@my-server]# systemctl status nagios.service
nagios.service - LSB: start and stop Nagios monitoring server
   Loaded: loaded (/etc/rc.d/init.d/nagios)
   Active: failed (Result: resources) since Wed 2014-11-05 11:40:27 GMT; 1min 0s ago
  Process: 23314 ExecStart=/etc/rc.d/init.d/nagios start (code=exited, status=5)

Nov 05 11:40:27 centos-server systemd[1]: Starting LSB: start and stop Nagios monitoring server...
Nov 05 11:40:27 centos-server nagios[23314]: nagios is stopped
Nov 05 11:40:27 centos-server systemd[1]: PID file /var/nagios/nagios.pid not readable (yet?) after start.
Nov 05 11:40:27 centos-server systemd[1]: Failed to start LSB: start and stop Nagios monitoring server.
Nov 05 11:40:27 centos-server systemd[1]: Unit nagios.service entered failed state.

/var/nagios/nagios.pid文件不存在。最初,该/var/nagios目录不存在,因此我创建了它。我尝试将其所有者更改为nagios,我尝试将其所有者更改为root

如果我创建一个空的 pid 文件,然后尝试再次启动该服务,我会收到一条错误消息,提示它包含无效值,然后它会被删除。

同样有趣的是 - 我无法按照这些说明验证 Nagios 配置,因为/usr/local/nagios/bin/nagios它不存在。不知道发生了什么。

有什么线索吗?

谢谢

答案1

这个问题的答案似乎是重新运行各种make install-*命令。在第一次安装期间我没有看到任何错误,但看起来有些方面还是失败了——最明显的是缺少/usr/local/nagios/bin目录。

之后service nagios start挂起几分钟,然后提示超时。尽管如此,Nagios 似乎仍在运行。

我还必须打开端口 80。

答案2

此答案假设您使用yumEPEL 安装。如果您从源安装,文件可能位于不同的位置,但想法是相同的。确保用户nagios有权访问这些文件。

/var/nagios/nagios.pid 文件不存在。最初,/var/nagios 目录不存在,因此我创建了它。

查找此部分/etc/nagios/nagios.cfg

# LOCK FILE
# This is the lockfile that Nagios will use to store its PID number
# in when it is running in daemon mode.
lock_file=/var/run/nagios/nagios.pid

这是 Nagios 启动时将创建的文件。旧版本可能使用nagios.lock,或者路径可能类似于/usr/local/nagios/

如果我创建一个空的 pid 文件,然后尝试再次启动该服务,我会收到一条错误消息,提示它包含无效值,然后它会被删除。

你不应该这样做!systemd将自行创建/删除它。

systemd指定要查找的 pid 文件/lib/systemd/system/nagios.service

PIDFile=/var/run/nagios/nagios.pid

这需要与lock_file您的中的相同nagios.cfg,否则systemd将超时并停止您的nagios服务。

同样有趣的是 - 我无法按照这些说明中的建议验证 Nagios 配置,因为 /usr/local/nagios/bin/nagios 不存在。不确定发生了什么。

运行命令whereis nagios来找到它。它可能位于/usr/sbin/nagios

如果您想查看与此问题相关的消息,请fgrep 'systemd' messages | fgrep -i nagios运行/var/log/

相关内容