Monitoring
監控 cron 任務的技術?
有沒有很好的技術來監控集群上的 cron 任務?
我們開始每天使用 cron 來啟動任務。檢查資訊的一些想法:
- 添加特殊的應用程序處理,將資訊記錄到一些“網路感知”的地方,比如數據庫
- 建立一個日誌文件系統,定期將 cron 日誌傳輸到中心點以進行處理/查詢(以及其他可能的日誌文件)
我想知道人們是否成功地將 cron 與其他事情分開做事情,或者,如果這些任務完全集成到不同的方法中。我傾向於#2,但我想知道更有經驗的人可能會嘗試什麼。
除了其他答案:
- 讓作業在完成時將時間戳連同實際作業的返回值一起寫入文件
- 將返回值傳播回原始呼叫者
我們使用第一個讓Nagios ( Icinga ) 更容易檢查,例如,如果最後寫入的時間戳早於 n 小時(加上您需要的任何邏輯) - 我們知道出了問題。
因此,我的常用方法是:
- 當您的 cron 應用程序成功完成時,不要產生任何標準輸出。
- 不要將任何輸出通過管道傳輸到 /dev/null。
- 當出現問題時,一定要產生有意義的 stderr 輸出。
- 請在 crontab 中設置一個 $MAILTO 地址,以將該錯誤輸出發送給所需的團隊。