python3实现zabbix告警推送钉钉的示例

  

自己写了一个简单的python脚本,用来推送zabbix告警到钉钉机器人,推送格式为减价,有需要的可以自己修改减价的格式及推送的值(zabbix宏)

  

 python3实现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

  

 python3实现zabbix告警推送钉钉的示例

  

<>强配置用户

  

 python3实现zabbix告警推送钉钉的示例

  

<>强配置行动

  

 python3实现zabbix告警推送钉钉的示例

  

附上消息   

<强>告警

        # #故障      * * * *主机名称:{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告警推送钉钉的示例