Nagios
nagios.service 啟動操作超時。終止
我有一個安裝 Nagios 的 Centos 7 Box,然後從舊的 Centos 盒子遷移所有配置文件。
一切看起來都很好,
nagios -v
沒有返回任何錯誤。但是,systemd 無法啟動服務並給我一個超時。在下面找到結果
systemctl -l status nagios.service
:● nagios.service - Nagios Network Monitoring Loaded: loaded (/usr/lib/systemd/system/nagios.service; disabled; vendor preset: disabled) Active: failed (Result: timeout) since Fri 2016-02-05 10:52:55 CET; 13min ago Docs: https://www.nagios.org/documentation/ Process: 2259 ExecStart=/usr/sbin/nagios -d /etc/nagios/nagios.cfg (code=exited, status=0/SUCCESS) Process: 2257 ExecStartPre=/usr/sbin/nagios -v /etc/nagios/nagios.cfg (code=exited, status=0/SUCCESS) Feb 05 10:52:52 nagios.adflux.net nagios[2261]: SERVICE ALERT: VM-CRO-JIRA2;Drive Space C:;CRITICAL;SOFT;1;CRITICAL - Socket timeout after 10 seconds Feb 05 10:52:52 nagios.adflux.net nagios[2261]: SERVICE ALERT: ESXi-ls1;PING;WARNING;SOFT;1;PING WARNING - Packet loss = 33%, RTA = 80.47 ms Feb 05 10:52:55 nagios.adflux.net systemd[1]: nagios.service start operation timed out. Terminating. Feb 05 10:52:55 nagios.adflux.net nagios[2261]: Caught SIGTERM, shutting down... Feb 05 10:52:55 nagios.adflux.net nagios[2268]: Caught SIGTERM, shutting down... Feb 05 10:52:55 nagios.adflux.net nagios[2261]: Successfully shutdown... (PID=2261) Feb 05 10:52:55 nagios.adflux.net nagios[2261]: Event broker module 'NERD' deinitialized successfully. Feb 05 10:52:55 nagios.adflux.net systemd[1]: Failed to start Nagios Network Monitoring. Feb 05 10:52:55 nagios.adflux.net systemd[1]: Unit nagios.service entered failed state. Feb 05 10:52:55 nagios.adflux.net systemd[1]: nagios.service failed.
在日誌上沒有發現進一步的錯誤(或者至少,我看的地方,也許……很可能我在這裡遺漏了一些東西)。
執行命令
/sbin/nagios /etc/nagios/nagios.cfg
啟動監控服務,一切都按預期執行。但這並不能解決我的問題,因為 Nagios 不是在這裡作為守護程序啟動的,而是連結到我的 shell。這表明我的問題不是由 Nagios 引起的,而是由 systemd 本身引起的。對此的任何線索將不勝感激。
非常感謝。
似乎 Nagios 沒有正確分叉到後台
-d
選項,systemd 在這裡期望由於type=forking
.因此 systemd 在啟動期間將非分叉計為超時。這可能與 NERD 或其他問題有關。
您可以通過以下方式在前台執行 Nagios:
cp /usr/lib/systemd/system/nagios.service /etc/systemd/system/nagios.service vim /etc/systemd/system/nagios.service # remove Type=forking and -d in cmd line of nagios systemctl daemon-reload systemctl restart nagios.service
然而,有一個錯誤……