没有合适的资源?快使用搜索试试~ 我知道了~
Zabbix 配置钉钉告警功能的实现代码
4 下载量 6 浏览量
2021-01-09
03:37:15
上传
评论
收藏 174KB PDF 举报
温馨提示
试读
3页
需求 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
资源详情
资源评论
资源推荐
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(""+"--"*30)
if x.json()["errcode"] == 0:
f.write(""+str(datetime.datetime.now())+" "+str(user)+" "+"发送成功"+""+str(text))
f.close()
else:
f.write(""+str(datetime.datetime.now()) + " " + str(user) + " " + "发送失败" + "" + str(text))
f.close()
执行一下:
chmod +x dingding.py # 加执行权限
python dingding.py a b "测试"
我们看钉钉能不能收到告警(记得钉钉要加服务器的公网ip的白名单)
Zabbix的配置如下:
(1)配置报警媒介类型:
配置—> 报警媒介类型,脚本参数如下:
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
截图如下:
weixin_38658086
- 粉丝: 3
- 资源: 924
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0