Logging

作業退出時從 supervisord 獲取通知

  • October 12, 2019

有什麼方法supervisord可以自動重新啟動失敗/退出/終止的作業並向我發送一封通知電子郵件,其中包含最後 x 行日誌文件的轉儲?

有一個外掛叫做 superlance。

您可以在以下位置安裝pip install superlance或下載它: http: //pypi.python.org/pypi/superlance

接下來你要做的是進入你的supervisord.conf並添加以下行:

[eventlistener:crashmail]
command=/usr/local/bin/crashmail -a -m email1@example.com
events=PROCESS_STATE

這之後應該是“supervisorctl update”。當程序“退出”時,您現在將收到發送到 email1@example.com 的通知。

如果您只想收聽某些選定的應用程序,您可以將其換成-a一個-p program1或如果它是一個組group1:program2一個例子是

[eventlistener:crashmail]
command=/usr/local/bin/crashmail -p program1 -p group1:program2  -m email1@example.com
events=PROCESS_STATE

關於自動重啟:您應該確保將autorestart其設置為(預設設置為)trueunexpected這樣包將重新啟動 3 次。如果在那之後它仍然退出,它會放棄,但你可以用startretries.

範常式序:

[program:cat]
command=/bin/cat
autorestart=true
startretries=10

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