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}

相关推荐
NE_STOP10 小时前
Vide Coding--AI编程工具的选择
java
码云数智-园园11 小时前
C++20 Modules 模块详解
java·开发语言·spring
程序员黑豆11 小时前
JDK 下载安装与配置详细教程
java·前端·ai编程
小宇宙Zz11 小时前
Maven依赖冲突
java·服务器·maven
swordbob11 小时前
NIO的channel中什么是 fd(File Descriptor,文件描述符)
java·开发语言·nio
咖啡八杯12 小时前
GoF设计模式——享元模式
java·spring·设计模式·享元模式
十五喵源码网12 小时前
基于springboot2+vue2的租房管理系统
java·毕业设计·springboot·论文笔记
摇滚侠12 小时前
IDEA 创建 Java 项目 手动整合 SSM 框架
java·ide·intellij-idea
源分享12 小时前
Java线程同步的多种实现方法(非常详细)
java·开发语言·jvm
Flittly12 小时前
【AgentScope Java新手村系列】(10)实战-多Agent天气助手
java·spring boot·spring