![Nagios 不會啟動,現在也不會停止!](https://rvso.com/image/515021/Nagios%20%E4%B8%8D%E6%9C%83%E5%95%9F%E5%8B%95%EF%BC%8C%E7%8F%BE%E5%9C%A8%E4%B9%9F%E4%B8%8D%E6%9C%83%E5%81%9C%E6%AD%A2%EF%BC%81.png)
我在運行 Nagios 的 CentOS 伺服器上運行了更新,更新後 Nagios 無法啟動。
日誌中的錯誤是:
無法取得檔案 /var/run/nagios.pid 的鎖定:權限被拒絕
因此,我檢查了 /var/run 中沒有 Nagios 的 pid 檔案。我創建了一個並授予它以下權限:
-rwxr--r-- 1 nagios nagios 6 五月 31 11:58 nagios.pid
Nagios 然後啟動並且似乎運作正常。
唯一的問題是,它現在拒絕停止,所以我無法重新啟動它來添加要監視的新伺服器和服務!
當我發出命令“service nagios stop”時,我得到 [FAILED],但沒有任何內容輸出到日誌中,並且服務保持運行狀態。
關於如何立即停止該服務有什麼想法嗎?
我正在運行透過 yum 從 RPMForge 儲存庫安裝的 RPM 版本。伺服器是CenotOS 5.5。
答案1
如果您不想更改權限/var/運行資料夾本身,您可以設定 nagios 將鎖定檔案儲存在系統上的任何位置,方法是將以下行新增至您的nagios.cfg文件。只要你點一下鎖文件選擇 nagios 有權建立、修改和刪除檔案的目錄,那麼您就可以開始了。
您甚至可以透過建立目錄將鎖定檔案儲存在 nagios 安裝目錄中,如下所示:/usr/lib/nagios/var
lock_file=/usr/lib/nagios/var
答案2
首先,了解一下pid
過程nagios
是什麼:
$ ps aux | grep nagios
然後您可以使用此命令重新啟動服務:
kill -HUP <nagios_pid>
並停止:
kill <nagios_pid>
要自動停止 nagios,您應該將其pid
in /var/run/nagios.pid
。核實。
答案3
如 Bart B 上面所說,不是chmod 777 生產系統上的任何目錄,除非有充分的理由並且您知道自己在做什麼。這是一個快速修復,但這是不是解決方案。
這個問題的正確解決方案,至少對我來說,是更新 nagios.cfg Nagios 設定檔(我的是 /etc/nagios/nagios.cfg),並改變這一行:
lock_file=/var/run/nagios.pid
對此:
lock_file=/var/nagios/nagios.pid
鎖定檔案在 /etc/init.d/nagios 服務設定檔中設定為 /var/nagios/nagios.pid,但顯然被 nagios.cfg 中的上述值所覆蓋
然後你可以重新啟動 Nagios 服務/守護程式:
service nagios restart
應該可以做到這一點。
答案4
如果 Nagios 伺服器在 CentOS 6.x 上出現啟動/停止問題,我使用以下命令:/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
它可以在我的 Nagios 伺服器上運行。