Nagios 啟動後無法啟動
我剛剛完成了一個小的 Nagios 4.1.1 安裝。它使用 Raspbian 在 Raspberry Pi 上執行。檢查沒問題,當我手動啟動它時,
/etc/init.d/nagios start
它工作正常。我總是告訴我的 debian 系統通過執行以下操作在系統啟動時啟動:
ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios
我可以看到符號連結已成功創建。但是,它不會在啟動時啟動。我可以在系統啟動後執行啟動腳本,
/etc/rcS.d/S99nagios start
這樣我知道(/think)符號連結很好。當伺服器啟動時,Apache 正在執行,並且 Nagios 頁面已啟動,但首頁顯示“無法獲取程序狀態”,這是 nagios 服務未執行時的預期。有沒有辦法查看啟動日誌以查看它是否正在嘗試,或者有沒有更好的方法讓它在啟動時啟動?更新:我跑了
update-rc.d
,它給了我這個:update-rc.d: using dependency based boot sequencing update-rc.d: warning: default start runlevel arguments (2 3 4 5) do not match resize2fs_once Default-Start values (2 3 4 5 S) update-rc.d: warning: default stop runlevel arguments (0 1 6) do not match resize2fs_once Default-Stop values (none) insserv: Script nagios is broken: incomplete LSB comment. insserv: missing `Default-Start:' entry: please add even if empty. insserv: missing `Default-Stop:' entry: please add even if empty. insserv: Script nagios is broken: incomplete LSB comment. insserv: missing `Default-Start:' entry: please add even if empty. insserv: missing `Default-Stop:' entry: please add even if empty. insserv: Default-Start undefined, assuming empty start runlevel(s) for script `nagios' insserv: Default-Stop undefined, assuming empty stop runlevel(s) for script `nagios'
我真的從來沒有見過這個,也不知道該怎麼辦,但它必須是相關的。
更新 2:做一些閱讀,似乎這可能與 init.d 腳本的格式有關。如果是這種情況,其他人很可能也遇到了這個問題,而且這不是 init.d 腳本第一次在基於 Debian 的系統上導致 Nagios 出現問題。我將關閉它並在 Nagios bugtracker 上打開一張票。
這似乎是 init.d 腳本格式的問題。這為我解決了這個問題:
首先,編輯 nagios init.d 腳本:
nano /etc/init.d/nagios
替換像這樣開始和結束的塊:
### BEGIN INIT INFO # # stuff in here # ### END INIT INFO
有了這個:
### BEGIN INIT INFO # Provides: nagios # Required-Start: $local_fs $syslog $network # Required-Stop: $local_fs $syslog $network # Short-Description: Start and Stop Nagios monitoring server # Description: Nagios is is a service monitoring system # Default-Start: start # Default-Stop: stop ### END INIT INFO
從這裡
然後執行:
sudo update-rc.d nagios defaults
您會收到一些可以安全忽略的警告。例如:
update-rc.d: warning: default start runlevel arguments (2 3 4 5) do not match nagios Default-Start values (start)
重新啟動並檢查。我的現在自動出現。
因此,看起來整體格式符合所需的標準,只是 INIT 塊缺少一些東西。我確實更喜歡這種方法,而不是為 Nagios 使用其他人的 init.d 文件,因為我相信開發人員可能比我更好地維護該腳本。需要注意的一件事是,如果您從原始碼更新 Nagios,並且執行
make install-init
它會覆蓋此文件,您將不得不再次執行此操作。另一種方法是安裝您需要的東西,省略初始化腳本。