目录
1、自定义一个钉钉群组
2、自定义脚本告警
3、创建媒体类型
4、为用户指定媒介类型
5、更改触发器表达式进行测试
1、自定义一个钉钉群组
群组里面添加一个自定义机器人
会有一个webhook地址,这个地址要记住
安全设置暂时选择自定义关键词,定义一个关键词zabbix ,即我发送给钉钉告警文本里面必须要有zabbix这个关键词。
这样钉钉机器人就添加完成了
#########################################################
2、自定义脚本告警
进入zabbix-server端告警脚本路径
[root@zabbix-server alertscripts]# cat /etc/zabbix/zabbix_server.conf | grep "alert"
# Number of pre-forked instances of alerters.
# Full path to location of custom alert scripts.
# AlertScriptsPath=${datadir}/zabbix/alertscripts
AlertScriptsPath=/usr/lib/zabbix/alertscripts
[root@zabbix-server alertscripts]# cd /usr/lib/zabbix/alertscripts/
[root@zabbix-server alertscripts]# ls
sendmail.sh
安装requests 模块
yum install -y python-requests
编写python脚本
[root@zabbix-server alertscripts]# cat 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 = "填写机器人webhook"
def msg(text):
json_text= {
"msgtype": "text",
"text": {
"content": text
},
"at": {
"atMobiles": [
"132xxx
],
"isAtAll": False
}
}
print requests.post(api_url,json.dumps(json_text),headers=headers).content
if __name__ == '__main__':
text = sys.argv[1]
msg(text)
授予可执行权限
chmod +x dingding.py
在zabbix-server端测试脚本能否发送到钉钉
[root@zabbix-server alertscripts]# ./dingding.py "zabbix hello"
{"errcode":0,"errmsg":"ok"}
还可以修改参数让机器人@某个人
测试:
[root@zabbix-server alertscripts]# ./dingding.py "zabbix test for wang"
{"errcode":0,"errmsg":"ok"}
修改参数@所有人
[root@zabbix-server alertscripts]# ./dingding.py "this is zabbix test"
{"errcode":0,"errmsg":"ok"}
#########################################################
3、创建媒体类型
#########################################################
4、为用户指定媒介类型
#########################################################
5、更改触发器表达式进行测试
因为机器人使用自定义关键词,所以要在action里的默认信息里加上一个zabbix关键词
还是修改可用内存
测试结果:钉钉机器人成功发送告警信息
恢复触发器表达式以后: