跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

Zabbix 配置钉钉告警功能的实现代码

需求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 配置钉钉告警内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:Zabbix自定义脚本监控nginx以及微信告警的全过程zabbix 6.0 使用 JavaScript 发出钉钉告警的方法Centos7 Zabbix3.4邮件告警配置(解决邮件内容为xx.bin附件问题)

python3实现zabbix告警推送钉钉的示例zabbix实现邮件告警的方法ZABBIX3.2使用python脚本实现监控报表的方法zabbix告警报表并发送邮件功能实现

相关文章