自己写了一个简单的python脚本,用来推送zabbix告警到钉钉机器人,推送格式为减价,有需要的可以自己修改减价的格式及推送的值(zabbix宏)
环境如下,理论上zabbix版本不影响,可以看看官方宏定义是否有区别
<强> python 3 强>
zabbix 3.4.2
zabbix宏官方文档:https://www.zabbix.com/documentation/3.4/manual/appendix/macros/supported_by_location
<>强配置强>
<>强配置钉钉自定义机器人强>
官方文档:https://open-doc.dingtalk.com/docs/doc.htm& # 63; treeId=257,正如=105735,docType=1
<强>编写zabbix告警脚本并置于alertscripts路径下强>
[itservice@zabbix alertscripts]猫/usr/lib/zabbix/alertscripts/alert_for_zabbix_by_dingding.py美元 #?usr/bin/env python3 utf - 8编码: #作者:huangwj #邮箱:huangwjwork@gmail.com #博客:huangwj.app # csdn: http://blog.csdn.net/u010871982 # github: https://github.com/huangwjwork #文件:alert_for_zabbix_by_dingding.py #时间:2018/5/11十四31 “‘ 本程序由huangwjwork开发,一切最终解释权归于huangwjwork。 本程序为开源,只用于技术交流,只供开发者参考与学习。 不得用于违反法律以及未经许可不得用于商业。保留其追责权利。 本程序不涉及任何违法敏感因素,如有人拿程序改造成违法工具,将与本程序开发者无关。 勇于开源,请勿滥用。内部学习交流,请勿传播。违反者造成相关法律事故,自行承担刑事责任。 “‘ 导入系统 进口getopt 进口的要求 进口json 进口回溯 试一试: 选择,参数=getopt.getopt (sys.argv [1:], shortopts=" longopts=[webhook_url=', ' webhook_title=', ' alert_message=']) 选择,价值选择: 如果选择==啊獁ebhook_url”: webhook_url=值 elif选择==啊獁ebhook_title”: webhook_title=值 elif选择==啊猘lert_message”: alert_message=值 webhook_header={ “内容类型”:“application/json”, “字符集”:“utf - 8” } webhook_message={ “msgtype”:“减价”, “减价”:{ “标题”:webhook_title, “文本”:alert_message } } sendData=https://www.yisu.com/zixun/json.dumps (webhook_message,缩进=1) requests.post (url=webhook_url头=webhook_header, data=sendData) 除了: traceback.print_exc(文件=打开('/tmp/alert_zabbix_dingding.log ', ' w + '))
<>强配置zabbix mediatype 强>
webhook_url替换成钉钉机器人webhook URL
<>强配置用户强>
<>强配置行动强>
附上消息
<强>告警强>
# #故障 * * * *主机名称:{HOSTNAME1} * *告警名称:* * {TRIGGER.NAME} * *告警级别:* * {TRIGGER.SEVERITY} * *告警时间:* *{事件。日期}{EVENT.TIME} * *检查项:* * {TRIGGER.KEY1} * *当前值:* * {ITEM.LASTVALUE} * * IP地址:* * {HOST.IP} * * * *事件ID: {EVENT.ID} >之前<>强恢复强>
# #恢复 * * * *主机名称:{HOSTNAME1} * *告警名称:* * {TRIGGER.NAME} * *告警级别:* * {TRIGGER.SEVERITY} * *告警时间:* *{事件。日期}{EVENT.TIME} * *恢复时间:* * {EVENT.RECOVERY。日期}{EVENT.RECOVERY.TIME} * *故障时长:* * {EVENT.AGE} * *检查项:* * {TRIGGER.KEY1} * *当前值:* * {EVENT.RECOVERY.VALUE} * * IP地址:* * {HOST.IP} * * * *事件ID: {EVENT.ID} >之前以上这篇python3实现zabbix告警推送钉钉的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
python3实现zabbix告警推送钉钉的示例