Monitoring

監控 cron 任務的技術?

  • December 29, 2020

有沒有很好的技術來監控集群上的 cron 任務?

我們開始每天使用 cron 來啟動任務。檢查資訊的一些想法:

  1. 添加特殊的應用程序處理,將資訊記錄到一些“網路感知”的地方,比如數據庫
  2. 建立一個日誌文件系統,定期將 cron 日誌傳輸到中心點以進行處理/查詢(以及其他可能的日誌文件)

我想知道人們是否成功地將 cron 與其他事情分開做事情,或者,如果這些任務完全集成到不同的方法中。我傾向於#2,但我想知道更有經驗的人可能會嘗試什麼。

除了其他答案:

  • 讓作業在完成時將時間戳連同實際作業的返回值一起寫入文件
  • 將返回值傳播回原始呼叫者

我們使用第一個讓Nagios ( Icinga ) 更容易檢查,例如,如果最後寫入的時間戳早於 n 小時(加上您需要的任何邏輯) - 我們知道出了問題。

因此,我的常用方法是:

  • 當您的 cron 應用程序成功完成時,不要產生任何標準輸出。
  • 不要將任何輸出通過管道傳輸到 /dev/null。
  • 當出現問題時,一定要產生有意義的 stderr 輸出。
  • 請在 crontab 中設置一個 $MAILTO 地址,以將該錯誤輸出發送給所需的團隊。

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