這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
supervisor-event-listener
Supervisor事件通知, 支援郵件, Slack, WebHook
簡介
Supervisor是*nix環境下的進程管理工具, 可以把前台進程轉換為守護進程, 當進程異常退出時自動重啟.
supervisor-event-listener監聽進程異常退出事件, 並發送通知.
項目地址
supervisor-event-listener
Supervisor配置
[eventlistener:supervisor-event-listener]; 預設讀取設定檔/etc/supervisor-event-listener.inicommand=/path/to/supervisor-event-listener; 指定設定檔路徑;command=/path/to/supervisor-event-listener -c /path/to/supervisor-event-listener.inievents=PROCESS_STATE_EXITED......
設定檔, 預設讀取/etc/supervisor-event-listener.ini
[default]# 通知類型 mail,slack,webhook 只能選擇一種notify_type = mail# 郵件伺服器配置mail.server.user = test@163.commail.server.password = 123456mail.server.host = smtp.163.commail.server.port = 25# 郵件收件者配置, 多個收件者, 逗號分隔mail.user = hello@163.com# Slack配置slack.webhook_url = https://hooks.slack.com/services/xxxx/xxx/xxxxslack.channel = exception# WebHook通知URL配置 webhook_url = http://my.webhook.com
通知內容
郵件、Slack
Host: ip(hostname)Process: process-namePID: 6152EXITED FROM state: RUNNING
WebHook, Post請求, 欄位含義查看Supervisor文檔
{ "Header": { "Ver": "3.0", "Server": "supervisor", "Serial": 11, "Pool": "supervisor-listener", "PoolSerial": 11, "EventName": "PROCESS_STATE_EXITED", "Len": 84 }, "Payload": { "Ip": "ip(hostname)", "ProcessName": "process-name", "GroupName": "group-name", "FromState": "RUNNING", "Expected": 0, "Pid": 6371 }}