supervisord 进程异常报警

supervisord对于启动进程简直是太方便了,一改启动必须登录服务器,切目录,运行,查看状态,可以zaisupervisord上面一目了然,但是我们不能一直盯着看呀,万一有个程序异常,咋办来?

参考:
http://talk.withme.me/?p=318

安装程序

pip install superlance

配置

只要在/etc/supervisor.d/下面来个mail.conf,和program的配置是一样的

[eventlistener:crashmail-exited]
command=crashmail -a -s "/bin/sendEmail -f myalter@vip.126.com -t wangyg@iiot.ac.cn -s smtp.vip.126.com -u '报警' -xu myalter -xp ceshi -o message-charset=utf-8 -m" -m wangyg@iiot.ac.cn
#events=PROCESS_STATE_EXITED # 一般只是这一句就好了,测试中发现,下面一坨和这一行的效果是一样一样的,只有exited的时候才会触发
events=PROCESS_STATE_EXITED,PROCESS_STATE_STOPPED,PROCESS_STATE_FATAL,PROCESS_LOG_STDERR
redirect_stderr=false

mark

注意:

这个地方有一个大坑,默认的时候crashmail使用的是linux系统的sendmail,发送出去的邮件很容易隐藏自己的信息,所以一般邮件服务商针对这些邮件会报错,大概是DSN, service unavailable, 貌似是你的ip地址和dns反解析不一致导致,所以无法发送邮件。
所以本文采用的实际上是sendemail,一个非常强大的使用perl语言写的支持附件发送等诸多功能的脚本。
在上面的command中也可看出来,最后的-m后面就么有东西了,因为crashmail会通过stdin输送给命令,也就是为啥邮件正文中有to 和 from这些本该是邮件header的内容。

好在目前可以使用了, 满足了小需求,一旦process crash,我们可以收到邮件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值