zabbix 参数 脚本_Zabbix 配置钉钉告警功能的实现代码

需求

Zabbix配置钉钉告警和Prometheus配置钉钉告警类似。只不过Zabbix通过钉钉告警是通过Python脚本实现。而Prometheus是通过钉钉的二进制包实现。

我们现在主要来讲解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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值