配置zabbix server
- 配置脚本执行目录
[root@ip-10-1-9-154 ~]# grep -Ev '^$|#' /etc/zabbix/zabbix_server.conf | grep ^A AlertScriptsPath=/usr/lib/zabbix/alertscripts
- 创建脚本,进入该定义的脚本存放路径下创建用来推送告警消息的脚本,使用自己的webhook.py脚本根据不同版本或平台会有报错,习性添加相应的库就ok.
[root@ip-10-1-9-154 ~]# cd /usr/lib/zabbix/alertscripts
[root@ip-10-1-9-154 alertscripts]# vim wechat.py
#!/usr/bin/env 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=974c3cca-9e9311-488b-87cd-848c3f1f7713" #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)
- 赋予脚本执行权限,因为调用必须有写
[root@ip-10-1-9-154 alertscripts]# chmod +x wechat.py
[root@ip-10-1-9-154 alertscripts]# python wechat.py 屋里真冷!
{"errcode":0,"errmsg":"ok"}
zabbix web页面配置
- 创建报警媒介-管理–>报警媒介类型–>创建媒介类型->新建一个企业微信的报警,脚本名称就是我们脚本名wechat.py.

- 创建动作


- 操作
服务器:{HOST.NAME}发生: {TRIGGER.NAME}告警!
告警主机:{HOST.NAME}
告警地址:{HOST.IP}
监控项目:{ITEM.NAME}
监控取值:{ITEM.LASTVALUE}
告警等级:{TRIGGER.SEVERITY}
当前状态:{TRIGGER.STATUS}
告警信息:{TRIGGER.NAME}
告警时间:{EVENT.DATE} {EVENT.TIME}
事件ID:{EVENT.ID}



- 恢复
服务器:{HOST.NAME}: {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}


- 指定报警用户

测试发送告警
- 停掉客户端
[centos@test-jenkins ~]$ sudo systemctl stop zabbix-agent

继续阅读








评论