zabbix钉钉报警

登录钉钉客户端,创建一个群,把需要收到报警信息的人员都拉到这个群内.

然后点击群右上角 的"群机器人"->"添加机器人"->"自定义",

记录该机器人的webhook值。

添加机器人 在钉钉群中,找到只能群助手 添加机器人 选择自定义机器人

添加 添加两个自定义关键字 [故障][恢复] 完成

将链接地址记住

钉钉报警脚本 Python版本 切记,脚本中的webhook一定要把里边的内容换成刚才机器人的链接地址

复制代码
[root@zabbix-server ~]# 
vim /usr/local/zabbix/share/zabbix/alertscripts/dingding.py 
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import requests
import json
import sys
import os
import datetime
webhook="这里写刚刚给的webhook那一长串"                    #更改这里
user=sys.argv[1]
subject=sys.argv[2]
text=sys.argv[3]
data={
	"msgtype": "text",
	"text": {
		"content": "%s%s"%(subject,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("/usr/lib/zabbix/dingding.log"):
	f=open("/usr/lib/zabbix/dingding.log","a+")
else:
	f=open("/usr/lib/zabbix/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()



#解决Python脚本中存在的问题

[root@zabbix-server ~]# chmod +x /usr/local/zabbix/share/zabbix/alertscripts/dingding.py

#使用在线epel源安装

[root@zabbix-server ~]# yum -y install python-pip

[root@zabbix-server ~]# curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -o get-pip.py python get-pip.py        #pip2.7版本的用这个命令

[root@zabbix-server ~]# pip install requests --upgrade                #安装模板

[root@zabbix-server ~]# mkdir -p /usr/lib/zabbix

[root@zabbix-server ~]# touch /usr/lib/zabbix/dingding.log

测试

复制代码
[root@zabbix-server ~]# /usr/local/zabbix/share/zabbix/alertscripts/dingding.py 手机号(注册钉钉的手机号) 关键字(故障) 故障原因(test) 

[root@zabbix-server ~]# cat /usr/lib/zabbix/dingding.log

web添加选项

管理-->报警媒介类型-->创建媒体类型

点击右上角头像-->报警媒介-->添加

类型:dingding

收件人:钉钉地址 然后点击更新

修改动作

配置-->动作-->点击-->操作-->编辑-->仅送到dingding

邮件格式如下:

默认接收人内容:故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!

默认信息内容:

告警主机:{HOSTNAME1}

告警时间:{EVENT.DATE} {EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

相关推荐
A阳俊yi22 分钟前
Spring Boot日志配置
java·spring boot·后端
苹果酱056722 分钟前
2020-06-23 暑期学习日更计划(机器学习入门之路(资源汇总)+概率论)
java·vue.js·spring boot·mysql·课程设计
echo1754251 小时前
Apipost免费版、企业版和私有化部署详解
java
异常君1 小时前
Java 高并发编程:等值判断的隐患与如何精确控制线程状态
java·后端·代码规范
异常君1 小时前
Java 日期处理:SimpleDateFormat 线程安全问题及解决方案
java·后端·代码规范
都叫我大帅哥1 小时前
Spring AI中的ChatClient:从入门到精通,一篇搞定!
java·spring·ai编程
都叫我大帅哥1 小时前
《@SpringBootApplication:Spring Boot的"一键启动"按钮,还是程序员的"免死金牌"?》
java·后端·spring
triticale1 小时前
P12167 [蓝桥杯 2025 省 C/Python A] 倒水
java·蓝桥杯
-曾牛1 小时前
Spring AI 快速入门:从环境搭建到核心组件集成
java·人工智能·spring·ai·大模型·spring ai·开发环境搭建
啊松同学1 小时前
【Mybatis】MyBatisPlus的saveBatch真的是批量插入吗?深度解析与性能优化
java·后端·性能优化·mybatis