一、添加钉钉群机器人,获取webhook地址
1、
2、
3、
4、
5、
二、配置报警触发脚本
[root@zhangxin alertscripts]# cat /usr/lib/zabbix/alertscripts/dingding1.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://oapi.dingtalk.com/robot/send?access_token=d3806ed133584fefdec932eca9fcfc41fd4ca0e452075a9680927e676e0b4d22" #钉钉的Webhook def msg(text): json_text= { "msgtype": "text", "at": { "atMobiles": [ "153xxxxxxxx" #制定@某个人 ], "isAtAll": False }, "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@zhangxin alertscripts]#
@赋予脚本权限
[root@zhangxin ~]# chmod +x /usr/lib/zabbix/alertscripts/dingding1.py
@测试脚本
[root@zhangxin alertscripts]# python dingding1.py '这是个测试' {"errcode":0,"errmsg":"ok"} [root@zhangxin alertscripts]#
三、配置Zabbix Web报警
1、创建报警媒介
2、
3、配置动作
4、
5、
6、
7、配置用户
10、测试报警
@关闭Nginx服务
[root@zhangxin ~]# netstat -tanp | grep 83 tcp 0 0 127.0.0.1:8080 0.0.0.0:* LISTEN 2283/unicorn master tcp 0 0 0.0.0.0:83 0.0.0.0:* LISTEN 120386/nginx: maste [root@zhangxin ~]# nginx -s stop [root@zhangxin ~]# netstat -tanp | grep 83 tcp 0 0 127.0.0.1:8080 0.0.0.0:* LISTEN 2283/unicorn master [root@zhangxin ~]#
10.1、钉钉报警成功
@故障通知
默认标题:服务器:{HOST.NAME}发生: {TRIGGER.NAME}故障! 消息内容 :服务器:{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}: {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} }