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}

相关推荐
SimonKing2 小时前
OpenCode AI辅助编程,不一样的编程思路,不写一行代码
java·后端·程序员
FastBean2 小时前
Jackson View Extension Spring Boot Starter
java·后端
Seven974 小时前
剑指offer-79、最⻓不含重复字符的⼦字符串
java
皮皮林55113 小时前
Java性能调优黑科技!1行代码实现毫秒级耗时追踪,效率飙升300%!
java
冰_河13 小时前
QPS从300到3100:我靠一行代码让接口性能暴涨10倍,系统性能原地起飞!!
java·后端·性能优化
桦说编程16 小时前
从 ForkJoinPool 的 Compensate 看并发框架的线程补偿思想
java·后端·源码阅读
躺平大鹅18 小时前
Java面向对象入门(类与对象,新手秒懂)
java
初次攀爬者19 小时前
RocketMQ在Spring Boot上的基础使用
java·spring boot·rocketmq
花花无缺19 小时前
搞懂@Autowired 与@Resuorce
java·spring boot·后端