https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxxxx509-4f42-xxxxxxxx
https://work.weixin.qq.com/help?doc_id=13376
#!/usr/local/python3/bin/python3 # coding:utf-8 # zabbix企业微信报警 import requests, json, sys, os, datetime #微信钩子机器人地址 webhook = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxxxxxxxxxxxxxxxxxxxxxxx" #zabbix传过来的三个变量 user = sys.argv[1] title = sys.argv[2] text = sys.argv[3] #每发送一次报警,就记一次日志 file = r"/var/log/zabbix/send2wechat.log" #报警的信息 data = { "msgtype": "markdown", "markdown": { "content": title + "\n" + text } } #请求这个钩子机器人 headers = {‘Content-Type‘: ‘application/json‘} x = requests.post(url=webhook, data=json.dumps(data), headers=headers) if os.path.exists(file): f = open(file, "a+") else: f = open(file, "w+") f.write(" " + " - -" * 30) f.write("\n") #记录日志 if x.json()["errcode"] == 0: f.write(" "+ str(datetime.datetime.now()) + " " + str(user) + " " + "发送成功" + " " + str(title) + "\n") f.close() else: f.write(" "+ str(datetime.datetime.now()) + " " + str(user) + " " + "发送失败" + " " + str(title) + "\n") f.close()
# 服务故障: <font color="warning">{EVENT.NAME}</font> { > 告警主机: **{HOST.NAME}** > 主机地址: **{HOST.IP}** > 监控项目: {ITEM.NAME} > 当前取值: {ITEM.LASTVALUE} > 告警等级: {TRIGGER.SEVERITY} > 告警时间: {EVENT.DATE}-{EVENT.TIME} > 事件ID: {EVENT.ID} }
# 故障恢复: <font color="info">{EVENT.NAME}</font> { > 主机名称: **{HOST.NAME}** > 主机地址: **{HOST.IP}** > 告警名称: {EVENT.NAME} > 持续时长: {EVENT.DURATION} > 恢复时间: {EVENT.RECOVERY.DATE}-{EVENT.RECOVERY.TIME} > 当前状态: {TRIGGER.STATUS} > 当前取值: {ITEM.LASTVALUE} > 事件ID: {EVENT.ID} }
原文:https://www.cnblogs.com/forlive/p/12987977.html