[英]Monitor node.js scripts running on ubuntu instance
我有一個node.js腳本,它在ubuntu EC2實例上一天運行一次。 此腳本從一些數千個遠程API中提取數據並保存到本地數據庫。 有什么辦法可以在遠程服務器上監控這個node.js腳本嗎? 由於某種原因,腳本崩潰的情況很少,如果沒有SSH實例並檢查日志,我們無法弄清楚。 然而,我在最初的幾次崩潰之后創建了一個小型系統,當腳本由於某些未捕獲的異常以及腳本完成執行時崩潰時會向我們發送電子郵件。
但是,我們需要開發一個更好的系統,我們可以通過我們的管理應用程序的Web界面監視腳本的進度,該應用程序部署在其他實例上,並通過此接口觸發腳本的啟動/停止。 實現這一目標有哪些可能的選擇?
這里有兩個你要解決的問題:
在簡單的層面上,這很容易:安排一個cron作業並重新啟動失敗的東西,以便他們繼續嘗試。
但是,當事情進展不順利時,有助於在調度內容以及執行方式上更加細化。 這也可以讓您了解每件小作品。
添加一點復雜性,你可以得到這樣的東西:
當工作失敗時,其他工作人員可以拿起正在進行的小工作並重新啟動它。 這比重新啟動整個過程更有效,並且還允許您根據分配工作負載的方式在n個工作程序之間並行化。
您可以輕松地將狀態發送到Web應用程序,以便您可以定期檢入而不必瀏覽服務器日志。
您還可以通過不同類型的故障獲得更多智能。 網絡錯誤? 重試5次。 額定有限? 逐漸退縮。 崩潰? 不要重試並通過電子郵件通知。 等等
我用pm2嘗試了這個,你可以得到任務的信息,然后趕緊或抓住日志文件。 或者您可以擁有一個日志服務器,另請參閱: https : //github.com/papertrail/remote_syslog2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.