当前位置: 代码网 > 服务器>服务器>Linux > Zabbix 配置钉钉告警功能的实现代码

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

2024年05月18日 Linux 我要评论
需求zabbix配置钉钉告警和prometheus配置钉钉告警类似。只不过zabbix通过钉钉告警是通过python脚本实现。而prometheus是通过钉钉的二进制包实现。钉钉的设置可以参看我的另外

需求

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

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com