Nagios

在 Centos 7 上安裝 Nagios 4.0.2 - 服務無法啟動

  • November 9, 2018

按照這裡的說明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不存在。不知道那是怎麼回事。

有什麼線索嗎?

謝謝

這個問題的答案似乎是重新執行各種make install-*​​命令。在第一次安裝期間我沒有看到任何錯誤,但看起來某些方面無論如何都失敗了 - 最明顯的是失去的/usr/local/nagios/bin目錄。

之後service nagios start掛了幾分鐘,然後聲稱已經超時。儘管如此,Nagios 似乎仍在執行。

我還必須打開埠 80。

此答案假設您使用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/

引用自:https://serverfault.com/questions/642170