在 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
不存在。不知道那是怎麼回事。有什麼線索嗎?
謝謝
這個問題的答案似乎是重新執行各種
make install-*
命令。在第一次安裝期間我沒有看到任何錯誤,但看起來某些方面無論如何都失敗了 - 最明顯的是失去的/usr/local/nagios/bin
目錄。之後
service nagios start
掛了幾分鐘,然後聲稱已經超時。儘管如此,Nagios 似乎仍在執行。我還必須打開埠 80。
此答案假設您使用
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/