Airflow默认带有邮件了Slack告警方式,都是不太符合国情,要想第一时间收到告警信息,肯定是微信最为方便。
只需添加几行代码就能给Airflow带上微信模板信息推送功能,先决条件是需要申请微信公众号与开通模板信息功能。
一、安装 weixin-python的工具包
pip intall weixin-python
二、在DAG上添加执行失败回调与回调方法
def send_wechat(context): mp = WeixinMP(app_id='APP_ID', app_secret='APP_SECRET') mp.template_send(template_id='TEMPLATE_ID', touser='USER_ID', data={ "first": { "value": u"ARIFLOW执行告警!", }, "content": { "value": u"ARIFLOW的DAG执行出错" }, "occurtime": { "value": str(datetime.datetime.now()) } })
on_failure_callback=send_wechat
收工。
Airflow执行失败后添加微信告警