zabbix配置钉钉告警(@所有人)

zabbix触发报警后会艾特所有人去发送警告信息,当然也可以自定义配置只发到钉钉群里

一.说明

会艾特所有人强制弹出信息,这里要注意告警频率,1分钟最多20条,超过会冷却10分钟然后依次发出,所以zabbix同时告警很多条建议做告警聚合,将多个合成一条再发,这个后面会研究发出来。
file

二.钉钉配置

1.申请钉钉账号,登录账号,拉2个人创建一个告警群组,添加一个机器人
file

2.主要是webhook,要记录下来
file

3.往钉钉推送的消息要包含zabbix才能通知
file

三.脚本

1.主要是配置url为自己机器人的webhook
安装模块:pip install requests

#!/usr/bin/python
import json,requests,sys
 
url = "https://oapi.dingtalk.com/robot/send?access_tokendasdd2dasadadsa"
msg = sys.argv[3]
 
def Alert(msg):
    headers = {"Content-Type": "application/json"}
    data = {"msgtype": "text", "text": {"content": msg},"at": {"isAtAll": True}}
    r = requests.post(url, data=json.dumps(data), headers=headers, verify=False)
    print r.text
Alert(msg)

2.测试,这里只用到第三个参数
./post-dingding.py "sadasd" "asdad" "测试用的告警信息"

3.将脚本放到服务端的脚本路径下,具体位置查看服务端配置文件

四.zabbix配置

1.报警媒介
file

2.收件人配置一个就行,脚本是不使用的,而是艾特所有人
file

3.动作
file

4.操作

主题:故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
消息:
【zabbix报警通知】
报警时间:{EVENT.DATE} {EVENT.TIME}
报警信息:服务器{HOSTNAME1} 发生{TRIGGER.NAME}故障!
当前状态:{ITEM.VALUE1}

file

5.恢复

操作主题:恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!
消息:
【zabbix恢复通知】
恢复时间:{EVENT.DATE} {EVENT.TIME}
恢复信息:服务器{HOSTNAME1}的{TRIGGER.NAME}已恢复!
当前状态:{ITEM.VALUE1}

file

0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论