zabbix发送微信报警脚本
1.登录zabbix server服务器,查找并进入zabbix告警脚本调用目录
```
find / -name alertscripts
cd /path/alertscripts
```
安装扩展库
yum install python-requests -y
编写python脚本
vim zabbix-weixin.py
```
#!/usr/bin/python
#-*- coding: utf-8 -*- #一定要编码声明不然会报错
import requests
import json
import sys
import os
headers = {'Content-Type': 'application/json;charset=utf-8'}
api_url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=cxxxxxxxxxxxxxxxx" #这个是企业微信机器人生成的webhook地址,修改为你的即可。
def msg(text):
json_text= {
"msgtype": "text",
"text": {
"content": text,
"mentioned_mobile_list":["1982222222","1922222222"] #这个是企业微信机器人自动艾特群里成员,修改为群成员手机号即可。
},
}
print requests.post(api_url,json.dumps(json_text),headers=headers).content
if __name__ == '__main__':
text = sys.argv[1]
msg(text)
```
测试下

表示成功推送
二、zabbix端配置企业微信告警
管理——报警媒介类型——右上角“创建媒体类型”
编辑用户告警媒介选项
管理---用户,选择需要发送告警消息的用户,点击用户名称进入配置页面,选择“报警媒介”标签,点击添加新媒介



配置告警动作参数
配置——动作——右上角“创建动作”


按照下图进行配置,添加“操作”配置。告警消息自定义内容如下,可复制使用:
```
主题:
故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
消息:
告警主机:{HOSTNAME1}
告警地址:{HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
```

接着添加“恢复操作”配置。恢复告警消息自定义内容如下,可复制使用
```
主题:
故障恢复{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}已恢复!
消息:
恢复告警主机:{HOSTNAME1}
告警地址:{HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
```

点击更新
系统已经完成了告警动作生成,这就完成了通过企业微信机器人推送告警的所有配置!

等待有触发告警的项目
