分享

zabbix对接企业微信web机器人发送报警信息

 看见就非常 2021-01-19
  1. #!/usr/bin/env python2
  2. # -*- coding:utf-8 -*-


  3. """
  4. zabbix
  5. 监控脚本-企业微信机器人
  6. """
  7. import sys
  8. import getopt
  9. import requests
  10. import traceback

  11. try:
  12. opts, args = getopt.getopt(sys.argv[1:], shortopts='', longopts=['webhook_url=', 'alert_message='])

  13. for opt, value in opts:
  14. if opt == '--webhook_url':
  15. webhook_url = value
  16. elif opt == '--alert_message':
  17. alert_message = value
  18. webhook_header = {
  19. "Content-Type": "application/json",
  20. }
  21. webhook_message = {
  22. "msgtype": "text",
  23. "text": {
  24. "content": alert_message
  25. }
  26. }
  27. requests.post(url=webhook_url, headers=webhook_header, json=webhook_message)
  28. except:
  29. traceback.print_exc(file=open('/tmp/wx.log', 'w+'))

编写完脚本需要就按脚本放到zabbix指定目录下, 脚本位于服务器配置文件中定义的目录中AlertScriptsPath

注意脚本名称就是你脚本的命名的文件名需要注意后缀.py也要加上 

添加管理

 配置动作

添加信息格式

 

  1. 服务器:{HOST.NAME}发生: {TRIGGER.NAME}故障!

  2. 报警主机:{HOST.NAME}
  3. 监控项目:{ITEM.NAME}
  4. 监控取值:{ITEM.LASTVALUE}
  5. 报警等级:{TRIGGER.SEVERITY}
  6. 当前状态:{TRIGGER.STATUS}
  7. 报警信息:{TRIGGER.NAME}
  8. 问题详情:{ITEM.NAME}-{ITEM.VALUE}
  9. 报警时间:{EVENT.DATE} {EVENT.TIME}
  10. 事件ID:{EVENT.ID}

 恢复操作

  1. 服务器:{HOST.NAME}: {TRIGGER.NAME}已恢复!

  2. 报警主机:{HOST.NAME}
  3. 监控项目:{ITEM.NAME}
  4. 监控取值:{ITEM.LASTVALUE}
  5. 报警等级:{TRIGGER.SEVERITY}
  6. 当前状态:{TRIGGER.STATUS}
  7. 报警信息:{TRIGGER.NAME}
  8. 报警时间:{EVENT.DATE} {EVENT.TIME}
  9. 恢复时间:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
  10. 持续时间:{EVENT.AGE}
  11. 事件ID:{EVENT.ID}

 发送企业微信

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多