创建钉钉群,开启报警机器人
打开钉钉群—找到智能群助手—创建自定义钉钉机器人–获取webhook值
在zabbix-server端配置脚本
1.找到脚本配置目录
[root@21 ~]# cat /etc/zabbix/zabbix_server.conf|grep AlertScriptsPath
### Option: AlertScriptsPath
# AlertScriptsPath=${datadir}/zabbix/alertscripts
AlertScriptsPath=/usr/lib/zabbix/alertscripts
2.编写脚本
[root@s21 ~]# cat /usr/lib/zabbix/alertscripts/dingding.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=bf3c2e43b87aaec92ab6286e0e656fd4fee941f45fce6e5406bc21axxxxx0272'
def msg(text):
json_text= {
"msgtype": "text",
"at": {
"atMobiles": [
"130"
],
"isAtAll": False
},
"text": {
"content": "zabbix告警"+":"+text
}
}
print requests.post(api_url,json.dumps(json_text),headers=headers).content
if __name__ == '__main__':
text = sys.argv[1]
msg(text)
“content”: “zabbix告警”+":"+text
这个zabbix告警是安全自定义的关键字,必须要加上,替换为你自己的就好了
3.测试脚本
[root@21 alertscripts]# ./dingding.py test
{"errcode":0,"errmsg":"ok"}
在web界面配置告警
在管理–报警媒介类型中新建–输入名称–类型等等
在用户中设置报警媒介
在动作中,添加触发的操作,恢复操作等等
附件:
操作:
告警主机:{HOST.NAME}
告警地址:{HOST.IP}
监控项目:{ITEM.NAME}
监控取值:{ITEM.LASTVALUE}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
告警时间:{EVENT.DATE} {EVENT.TIME}
事件ID:{EVENT.ID}
当前状态:{TRIGGER.STATUS}
恢复操作
告警主机:{HOST.NAME}
告警地址:{HOST.IP}
监控项目:{ITEM.NAME}
监控取值:{ITEM.LASTVALUE}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
告警时间:{EVENT.DATE} {EVENT.TIME}
恢复时间:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
持续时间:{EVENT.AGE}
事件ID:{EVENT.ID}
当前状态:{TRIGGER.STATUS}
更新操作
确认人:{USER.FULLNAME}
时间:{ACK.DATE} {ACK.TIME}
确认信息如下:
"{ACK.MESSAGE}"
问题服务器IP:{HOSTNAME1}
问题ID:{EVENT.ID}
当前的问题是: {TRIGGER.NAME}