Centos
重置後Monit不拾取httpd程序
我已經在我的一台執行 CentOS 5 的伺服器上安裝了 Munin 和 Monit。除了 httpd 程序重新啟動時,一切都執行良好,記錄和報告資訊。如果它達到 2.5gb 的記憶體使用量,我將 Monit 設置為重新啟動 httpd。如果/當這種情況發生時,它會重新啟動就好了,但 Monit 不會選擇新程序。
我會收到一條通知,告訴我 httpd 服務不存在,然後另一條告訴我 httpd 啟動失敗,然後最後一條通知說 httpd 服務超時,將不再被監控。
我不確定為什麼我會收到這些報告,因為 httpd 服務正在重新啟動就好了。我檢查了日誌,重啟時沒有問題。
也許讓 monit 執行一個重新啟動 httpd的腳本,等待幾秒鐘,然後也重新啟動 monit。
monit 可能以某種方式鎖定到與被殺死的 httpd 程序關聯的特定程序 ID - 這將允許它正確檢測新程序。
我不確定您的系統在達到 2.5Gb 使用點時有多少可用記憶體,但如果該數量太低(可能在重新啟動期間?),linux 將開始隨機終止程序以避免完全崩潰。我猜想oomkiller可能正在扼殺對 monit 功能至關重要的東西。
如果是這種情況,將重啟門檻值從 2.5Gb 降低到 2.0Gb,或者增加盒子中的記憶體量將是更好的解決方案。