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