zabbix-钉钉报警部署

zabbix-钉钉报警部署

1. 流程说明

  • 申请钉钉机器人
  • 获取Webhook配置安全设置
  • 获取钉钉号
  • 使用脚本(shell/python)调用钉钉接口: python 输入收件人 信息
  • 配置发件人
  • 配置收件人

2. 实战

2.1 钉钉操作

  • 创建群申请钉钉机器人
  • 记录webhook并配置安全设置

2.2 zabbix服务端端操作

  • 编写脚本
脚本存放目录:/usr/local/share/zabbix/alertscripts
[root@m03-zabiix-server /usr/local/share/zabbix/alertscripts]# cat dingding.py 
#!/usr/bin/env python3
#author: ansheng
#coding:utf-8 
import requests,json,sys,os,datetime
webhook="https://oapi.dingtalk.com/robot/send?access_token=4312d449801a429b7111ee05a332ce2b5802fb3827fc8f43ae2578340df07f9c" #这里填钉钉机器人的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()
    
    
[root@m03-zabiix-server /usr/local/share/zabbix/alertscripts]# chmod +x dingding.py      #添加执行权

  • 测试

2.3 web页面操作

  • 添加报警媒介类型

  • 配置收件人

  • 测试,创造一个新故障

posted @   安生丶  阅读(41)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示