2011-12-26 58 views
4

我們使用專用的Amazon Ubuntu ec2實例作爲Cron服務器,它在不同的時間間隔執行16個cron作業,即早晨4:15 - 7:15執行10個cron作業,其餘23個:00 - 23:50。我通過電子郵件得到結果。我想配置一些內容,在當天結束時發送電子郵件,列出成功執行的cron作業和失敗的cron作業。Jenkins監視外部cron作業

我有一個jenkins配置的ubuntu實例,用於自動構建Dev,Beta,Staging &現場環境。我可以在jenkins中添加這些cron作業shell腳本)作爲外部作業並監視它們。可能嗎?

回答

8

絕對有可能!您可以在此描述監控外部cron作業: https://wiki.jenkins-ci.org/display/JENKINS/Monitoring+external+jobs

您還可以通過創建自由泳軟件項目添加cron作業(類似的行爲)詹金斯,並添加「執行shell」作爲構建過程。 這更方便一些,因爲你也可以通過Jenkins觸發執行(「Build now」)。

2

您可能可以將Jenkins monitor external job project typematrix project結合使用。至少前者將使您能夠單獨監控cron作業。

或者,您可以讓當天最後一次受監視的cron作業觸發構建一個項目,該項目檢查所有cron作業的狀態(例如,通過檢索和比較最後一個和最後一個成功構建的構建號)併發送相應的電子郵件。 email plugin可能對後者有用。

1

檢查CPAN或做一些網頁挖掘shell或perl腳本來管理cron作業,並擴展其行爲以執行一些報告,您可以使用HTML進行渲染。另外編寫一個servlet和一些函數調用來做到這一點。

這成爲您自己的獨立顯示器應用程序,它可以坐在詹金斯或獨立部署。如果您選擇將其添加到jenkins,那麼將報告的HTML文件及其腳本添加到容納jenkins的部署Web文件的容器中,建議將您的文件和腳本放在單獨的容器中。

添加超鏈接到jenkins索引html,它將加載你的記者。現在重新啓動tomcat並從那裏開始。

0

另一種選擇可能是看看Cronitor(https://cronitor.io)。它基本歸結爲一個跟蹤信標,它使用http請求在cron作業/計劃任務開始和結束時進行ping。

如果您的工作沒有按計劃運行,或者運行時間過長/太短等,您會收到通知。您還可以配置它通過電子郵件,短信,短信等方式向您發送警報,Hipchat,Pagerduty等。