[toc]
zabbix3.4使用钉钉告警
第一步、钉钉机器人创建
打开windows钉钉客户端-->右上角头像处-->机器人管理
选择自定义
选择添加
填写机器人名字和要添加到的群组
这里的webhook值需要写在后续python脚本中
第二步、zabbix-server端编写python脚本
#在zabbix-server端编辑python脚本
[root@zabbix-server alertscripts]# pwd
/usr/lib/zabbix/alertscripts
[root@zabbix-server alertscripts]# cat >/usr/lib/zabbix/alertscripts/dingding.py <<EOF
#!/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?xxx" #注意,api_url到后边的一串是一行,且这里的api_url要写成自己企业钉钉中创建的机器人中的webhook
def msg(text):
json_text= {
"msgtype": "text",
"at": {
"atMobiles": [
"17310470653"
],
"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)
EOF
#赋予脚本执行权限
[root@zabbix-server alertscripts]# chmod +x dingding.py
#修改脚本所有者为zabbix
[root@zabbix-server alertscripts]# chown zabbix.zabbix dingding.py
#安装依赖包
[root@zabbix-server ~]# yum -y install python-pip
[root@zabbix-server ~]# pip install requests
#执行脚本进行测试,返回以下内容即为正确,并且钉钉能够收到信息
[root@zabbix-server alertscripts]# ./dingding.py test
{"errmsg":"ok","errcode":0}
第三步、zabbix web界面设置
3.1 创建钉钉告警
管理-->报警媒介类型-->创建媒体类型
填写相关信息,注意脚本参数写 {ALERT.MESSAGE}
右上角小人头-->报警媒介-->添加