zabbix添加钉钉告警通知
在之前的文章里,通过Zabbix对主机的磁盘、CPU以及内存进行了监控,并在首页Dashboard里创建了监控图形,但是只有当我们登录到Zabbix后才能看到监控到的问题(Problem),因此在本篇文章里,将利用触发器(Trigger),以及媒介(Media)等配置项,实现当触发器触发时,通过不同媒介,如:钉钉,发送**动作(Action)**,实现实时通知告警功能。
由于使用到脚本告警媒介,本文中通过调用Python脚本触发告警,因此需要在Zabbix Server主机上安装pip以及相关模块。
1、配置告警媒介类型
# 创建媒体类型
# 进行配置
2、接下来新建Python脚本,Zabbix Server配置文件中可以配置告警脚本路径,默认为 /usr/lib/zabbix/alertscripts
# 查看告警脚本路径 # cat zabbix_server.conf | grep AlertScriptsPath
# 编写告警脚本 # cd /usr/lib/zabbix/alertscripts # vim pythonScript.py
#!/usr/bin/env python #coding:utf-8 import requests,json,sys,os,datetime # 钉钉机器人地址 webhook="https://oapi.dingtalk.com/robot/send?access_token=your_dingding_robot_access_token" # 对应{ALERT.SENDTO}, Zabbix告警媒介配置界面第2个参数 user=sys.argv[2] # 对应{ALERT.MESSAGE}, Zabbix告警媒介配置界面第1个参数 text=sys.argv[1] data={ "msgtype": "text", "text": { "content": text }, "at": { "atMobiles": [ user ], "isAtAll": False } } headers = {'Content-Type': 'application/json'} x=requests.post(url=webhook,data=json.dumps(data),headers=headers)
# 给脚本赋予可执行权限 # chmod a+x /usr/lib/zabbix/alertscripts/pythonScript.py
3、测试