Nagios

nagios.service 啟動操作超時。終止

  • November 9, 2018

我有一個安裝 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

然而,有一個錯誤……

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