1,钉钉上添加机器人,复制webhook
image.png
2,找一下zabbix server 上定义的告警脚本目录
[root@zabbix-server ~]# grep alertscripts /etc/zabbix/zabbix_server.conf
[root@zabbix-server ~]# AlertScriptsPath=/usr/lib/zabbix/alertscripts
3,在/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后跟告警机器人的webhook
api_url = "https://oapi.dingtalk.com/robot/send?access_token=*********************"
def msg(text):
json_text= {
"msgtype": "text",
"text": {
"content": text
}
}
print(requests.post(api_url,json.dumps(json_text),headers=headers).content)
if __name__ == '__main__':
text = sys.argv[1]
msg(text)
4, 给ding.py执行权限,并测试一下:
[root@zabbix-server ~]# chmod +x dingding.py
[root@zabbix-server ~]# python ./dingding.py test
群里面也能收到测试消息:
image.png如果报错
image.png这原因是没有安装python中的requests模块
安装requests
yum -y install epel-release
yum -y install python-pip
pip install requests
yum clean all
5, 在zabbix-serve页面中添加媒介
image.png6, 创建用户,并为用户添加报警媒介,记得授权,没有权限接收不到报警消息
image.pngimage.png
7,添加动作,
配置动作-创建动作 ,事件源触发器
报警信息动作
image.png恢复操作信息发送
image.png
8,触发报警后,得到
image.png
网友评论