- #!/usr/bin/env python2
- # -*- coding:utf-8 -*-
- """
- zabbix
- 监控脚本-企业微信机器人
- """
- import sys
- import getopt
- import requests
- import traceback
- try:
- opts, args = getopt.getopt(sys.argv[1:], shortopts='', longopts=['webhook_url=', 'alert_message='])
- for opt, value in opts:
- if opt == '--webhook_url':
- webhook_url = value
- elif opt == '--alert_message':
- alert_message = value
- webhook_header = {
- "Content-Type": "application/json",
- }
- webhook_message = {
- "msgtype": "text",
- "text": {
- "content": alert_message
- }
- }
- requests.post(url=webhook_url, headers=webhook_header, json=webhook_message)
- except:
- traceback.print_exc(file=open('/tmp/wx.log', 'w+'))
编写完脚本需要就按脚本放到zabbix指定目录下, 脚本位于服务器配置文件中定义的目录中AlertScriptsPath
注意脚本名称就是你脚本的命名的文件名需要注意后缀.py也要加上
- 服务器:{HOST.NAME}发生: {TRIGGER.NAME}故障!
- 报警主机:{HOST.NAME}
- 监控项目:{ITEM.NAME}
- 监控取值:{ITEM.LASTVALUE}
- 报警等级:{TRIGGER.SEVERITY}
- 当前状态:{TRIGGER.STATUS}
- 报警信息:{TRIGGER.NAME}
- 问题详情:{ITEM.NAME}-{ITEM.VALUE}
- 报警时间:{EVENT.DATE} {EVENT.TIME}
- 事件ID:{EVENT.ID}
恢复操作
- 服务器:{HOST.NAME}: {TRIGGER.NAME}已恢复!
- 报警主机:{HOST.NAME}
- 监控项目:{ITEM.NAME}
- 监控取值:{ITEM.LASTVALUE}
- 报警等级:{TRIGGER.SEVERITY}
- 当前状态:{TRIGGER.STATUS}
- 报警信息:{TRIGGER.NAME}
- 报警时间:{EVENT.DATE} {EVENT.TIME}
- 恢复时间:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
- 持续时间:{EVENT.AGE}
- 事件ID:{EVENT.ID}
联系客服