Golang实现Supervisor事件通知
2017-06-06 09:09
1046 查看
supervisor-event-listener
Supervisor事件通知, 支持邮件, Slack, WebHook简介
Supervisor是*nix环境下的进程管理工具, 可以把前台进程转换为守护进程, 当进程异常退出时自动重启.supervisor-event-listener监听进程异常退出事件, 并发送通知.
项目地址
supervisor-event-listenerSupervisor配置
[eventlistener:supervisor-event-listener] ; 默认读取配置文件/etc/supervisor-event-listener.ini command=/path/to/supervisor-event-listener ; 指定配置文件路径 ;command=/path/to/supervisor-event-listener -c /path/to/supervisor-event-listener.ini events=PROCESS_STATE_EXITED ......
配置文件, 默认读取/etc/supervisor-event-listener.ini
[default] # 通知类型 mail,slack,webhook 只能选择一种 notify_type = mail # 邮件服务器配置 mail.server.user = test@163.com mail.server.password = 123456 mail.server.host = smtp.163.com mail.server.port = 25 # 邮件收件人配置, 多个收件人, 逗号分隔 mail.user = hello@163.com # Slack配置 slack.webhook_url = https://hooks.slack.com/services/xxxx/xxx/xxxx slack.channel = exception # WebHook通知URL配置 webhook_url = http://my.webhook.com
通知内容
邮件、SlackHost: ip(hostname) Process: process-name PID: 6152 EXITED 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 } }
相关文章推荐
- 通过事件通知 实现react.js组件间通信
- 在app未开启时,实现对用户进行通知提醒功能总结(添加事件到手机系统日历并设置闹钟提醒)
- socket通信之六:Overlapped I/O 事件通知模型实现的客户/服务器模型
- WCF实现事件通知相关应用技巧介绍
- ReactNative实现通知监听事件
- 事件模式实现通知
- WCF中使用观察者模式实现事件通知
- WCF中使用观察者模式实现事件通知
- 一句代码调用注册通知事件+实现微信弹出/隐藏输入框
- 改进C#代码之25:用事件模式实现通知
- golang实现微信小程序支付通知
- C#代码:用事件模式实现通知
- Effective C# 学习笔记(二十五)以事件机制来实现通知
- 《Effective C#》读书笔记——条目25:用事件模式实现通知<使用C#表达设计>
- 实现一个简单的事件订阅通知机制(Observer模式实现)
- COM 组件实现事件、通知
- 应用框架的设计与实现——.NET平台(7.事件通知服务.委托.异步编程)
- 实现基于事件通知的.Net套接字
- Qt自定义事件的实现(军队真正干活,但要增加监军,大平台通知事件,事件内容自定义)
- 事件通知实现界面间的数据交互