1、配置脚本执行目录
- 进入zabbix自定义脚本目录,在
zabbix server
安装目录定义的 conf
配置文件在zabbix安装目录下的zabbix_server.conf
里面定义的脚本执行目录AlertScriptsPath=/usr/lib/zabbix/alertscripts
[root@zabbix-server ~]# grep -Ev '^$|#' /etc/zabbix/zabbix_server.conf | grep ^A
AlertScriptsPath=/usr/lib/zabbix/alertscripts
2、创建告警推送脚本
- 说明:以下脚本是基于Python2环境执行的
[root@zabbix-server ~]# cd /usr/lib/zabbix/alertscripts
[root@zabbix-server alertscripts]# vim wechat.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=xxxxxxxx" #这个是webhook地址,修改为你的即可。
def msg(text):
json_text= {
"msgtype": "text",
"text": {
"content": text
},
}
print requests.post(api_url,json.dumps(json_text),headers=headers).content
if __name__ == '__main__':
text = sys.argv[1]
msg(text)
3、赋予脚本执行权限
[root@zabbix-server alertscripts]# chmod +x wechat.py
- 测试脚本
[root@zabbix-server alertscripts]# python wechat.py 您好,监控测试
4、企业微信查看

5、zabbix server页面定义报警
5.1:创建报警媒介
- 管理–>报警媒介类型–>创建媒介类型
- 新建一个企业微信的报警,脚本名称就是我们脚本名
wechat.py

5.2:创建动作
5.2.1: 动作【操作】
- 操作内容信息如下:
- 默认标题:
- 故障{TRIGGER.STATUS},服务器:{HOST.NAME}发生: {TRIGGER.NAME}故障!
- 消息内容:
- 告警主机:{HOST.NAME}
- 告警地址:{HOST.IP}
- 监控项目:{ITEM.NAME}
- 监控取值:{ITEM.LASTVALUE}
- 告警等级:{TRIG
原文链接:https://www.dqzboy.com GER.SEVERITY} - 当前状态:{TRIGGER.S
文章来源(Source):浅时光博客 TATUS} - 告警信息:{TRIGGER.NAME}
- 告警时间:{EVENT.DATE} {EVENT.TIME}
- 事件ID:{EVENT.ID}
5.2.2:动作【恢复操作】
- 恢复操作内容信息如下:
- 默认标题:
- 恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!
- 消息内容:
- 告警主机:{HOST.NAME}
- 告警地址:{HOST.IP}
- 监控项目:{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}
- 最后点击添加
5.3:测试发送告警
- 可以将被监控端的agent停止(首先保证该被监控主机有对应的监控项和触发器)
[root@localhost ~]# systemctl stop zabbix-agent
请问webhook地址在哪查看?
创建了机器人就自动生成了,点击机器人配置里看
谢谢分享