按照这里的说明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
此答案假设您使用yum
EPEL 安装。如果您从源安装,文件可能位于不同的位置,但想法是相同的。确保用户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/