Zabbix 配置钉钉告警功能的实现代码
2020-04-22 18:15
141 查看
需求
Zabbix配置钉钉告警和Prometheus配置钉钉告警类似。只不过Zabbix通过钉钉告警是通过Python脚本实现。而Prometheus是通过钉钉的二进制包实现。
钉钉的设置可以参看我的另外一篇博文(Prometheus 配置钉钉告警): https://knight.blog.csdn.net/article/details/105583741
我们现在主要来讲解Zabbix的设置实现
钉钉Webhook代码实现
vim /usr/local/zabbix/share/zabbix/alertscripts/dingding.py
#!/usr/bin/env python #coding:utf-8 import requests,json,sys,os,datetime webhook="https://oapi.dingtalk.com/robot/send?access_token=6e5bcfee12bc6fa7f3c6bd16b7d6c333d86266cecadd3fe5e77a29cedae9f9" #说明:这里改为自己创建的机器人的webhook的值 user=sys.argv[1] text=sys.argv[3] 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) if os.path.exists("/tmp/dingding.log"): f=open("/tmp/dingding.log","a+") else: f=open("/tmp/dingding.log","w+") f.write("\n"+"--"*30) if x.json()["errcode"] == 0: f.write("\n"+str(datetime.datetime.now())+" "+str(user)+" "+"发送成功"+"\n"+str(text)) f.close() else: f.write("\n"+str(datetime.datetime.now()) + " " + str(user) + " " + "发送失败" + "\n" + str(text)) f.close()
执行一下:
chmod +x dingding.py # 加执行权限 python dingding.py a b "测试"
我们看钉钉能不能收到告警(记得钉钉要加服务器的公网ip的白名单)
Zabbix的配置如下:
(1)配置报警媒介类型:
配置---> 报警媒介类型,脚本参数如下:
{ALERT.SENDTO} {ALERT.SUBJECT} {ALERT.MESSAGE}
截图如下:
(2)配置动作
配置--->动作--->创建动作,把微信告警或者邮件告警的“操作”和恢复操作内容拷贝过来即可。
(3)最后配置用户
配置--->用户---> 报警媒介,把钉钉加进来即可。 其中收件人要写自己的电话号码。
Zabbix的配置就配置完了。我们看一下告警的效果图
总结
到此这篇关于Zabbix 配置钉钉告警的文章就介绍到这了,更多相关Zabbix 配置钉钉告警内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:
相关文章推荐
- VIM语法高亮、VIM代码补全、VIM结构化视图功能的配置实现(1)
- VIM语法高亮、VIM代码补全、VIM结构化视图功能的配置实现
- zabbix实现微信告警功能
- lucene的开发环境配置,并实现lucene功能一:创建索引;及代码示例
- zabbix配置微信告警功能
- Java实现AOP功能的封装与配置的小框架实例代码
- log4c 代码实现log4crc的配置相应的功能
- MYSQL主从配置以及客户端代码实现读写分离功能
- Android客户端连接阿里云服务器MySQL数据库实现登录功能(代码配置详解)
- Nginx正反向代理及负载均衡等功能实现配置代码实例
- 自己很丰衣足食Geany中tidy配置,实现自动格式化代码功能
- Online Coding开发模式 (通过在线配置实现一个表模型的增删改查功能,无需写任何代码)
- rcp(插件开发) 去掉plugin_customization.ini文件,在代码中实现配置功能
- 黄聪:如何配置Emeditor实现代码智能识别自动完成功能
- Online Coding开发模式 (通过在线配置实现一个表模型的增删改查功能,无需写任何代码)
- zabbix配置微信告警功能
- VIM语法高亮、VIM代码补全、VIM结构化视图功能的配置实现
- zabbix使用onealert实现告警、更改zabbix-agent工作模式、zabbix-proxy配置搭建
- MYSQL主从配置以及客户端代码实现读写分离功能
- VIM语法高亮、VIM代码补全、VIM结构化视图功能的配置实现