Zabbix5.0钉钉报警设置

简介: Zabbix5.0钉钉报警设置

本文基于zabbix5.0.2版本结合钉钉配置告警功能,理论适用于其他版本,配置前首先对zabbix使用熟悉,了解邮件告警原理,熟悉配置动作报警媒介。

吴昊之前也写过zabbix邮件报警设置,原理与钉钉告警功能差不多

想要实现zabbix通过钉钉告警,我们首先创建一个钉钉告警群,在钉钉告警群中添加钉钉机器人,因为报警是通过钉钉机器人来实现的。

1、创建钉钉群,添加钉钉机器人,获取Webhook

2、配置告警脚本

登录zabbix-server服务器,安装python-pip,配置py脚本

yum install python-pip
pip install requests
mkdir /etc/zabbix/alertscripts

修改/etc/zabbix/zabbix_server.conf配置文件

vi /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/etc/zabbix/alertscripts
cd /etc/zabbix/alertscripts
vi dingding.py
此py脚本来源于网络,我这里做了部分修改,脚本内容如下

!/usr/bin/env python

coding:utf-8

zabbix钉钉报警

import requests,json,sys,os,datetime
webhook="https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxxxxxxxxxxxxxxxxxxxx"
log_file="/var/log/zabbix/dingding.log"
user=sys.argv[1]
text=sys.argv[3]
data={

"msgtype": "text",
"text": {
    "content": text
},
"at": {
    "atMobiles": [
        user
    ],
    "isAtAll": False #此处如果改成True则在报警的时候@所有人
}

}
headers = {'Content-Type': 'application/json'}
x=requests.post(url=webhook,data=json.dumps(data),headers=headers)
if os.path.exists(log_file):

f=open(log_file,'a+')

else:

f=open(log_file,'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()

3、脚本授权

chown zabbix:zabbix /etc/zabbix/alertscripts/dingding.py
chmod 755 /etc/zabbix/alertscripts/dingding.py

4、报警功能测试

这里的a和b是两个任意关键字,whsir是钉钉自定义的关键词

./dingding.py a b "whsir:测试报警功能"

5、刷新日志权限

touch /var/log/zabbix/dingding.log
chown zabbix:zabbix /var/log/zabbix/dingding.log

6、设置报警媒介类型

在zabbix仪表盘中,选择管理→报警媒介类型→创建媒体类型

选择脚本类型,脚本名称就是前面创建好的dingding.py文件,脚本参数配置如下

{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}

7、给用户设置报警媒介

在zabbix仪表盘中,选择管理→用户→Admin(我这里以Admin用户为例)→报警媒介→添加钉钉告警

注意:收件人这里,可以填写任意内容,也可以填写钉钉的手机号码,例:我的钉钉绑定的手机号是18800000000,那么此处收件人也填写18800000000,在报警时就会@我了。

如果想在报警的时候@所有人,需要在dingding.py里修改"isAtAll": False为"isAtAll": True,如果修改为True了,那么收件人这里随便填就好了。

8、动作配置

在zabbix仪表盘中,选择配置→动作→创建新的动作

计算方式默认即可,条件选择需要报警的主机群组(我这里以主机群组为例,可结合自身需求更改)

主题:故障{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}

恢复操作也同理,在消息的首行添加钉钉的关键词,可以使用中文

恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!

因为我这里之前配置过Email报警方式,所以在这里可以看到,同时支持钉钉和邮件两种方式告警

目录
相关文章
|
6月前
|
JSON 数据格式 开发者
钉钉事件订阅的订阅规则可以在钉钉开放平台进行设置
【2月更文挑战第7天】钉钉事件订阅的订阅规则可以在钉钉开放平台进行设置
155 1
|
监控
zabbix设置邮件报警
zabbix设置邮件报警
101 0
|
1月前
|
UED
在钉钉宜搭中,要实现单选关联选项设置与图文展示的关联
【10月更文挑战第5天】本文通过具体案例介绍如何在钉钉宜搭中实现单选字段与其他字段的联动功能。以旅行社旅游线路报名表单为例,详细说明了创建单选字段、图文展示字段及设置联动逻辑的具体步骤。通过简单的配置,实现了用户选择目的地后自动展示相关信息的效果,提升了用户体验和数据录入准确性。适用于希望通过低代码平台优化工作流程的企业。
87 6
|
3月前
|
监控 关系型数据库 MySQL
一文吃透企业级elk技术栈:11. zabbix报警实现
一文吃透企业级elk技术栈:11. zabbix报警实现
|
3月前
|
UED
【打造梦幻联动!】揭秘钉钉宜搭中的单选关联选项设置与图文展示的魔术 —— 让你的表单瞬间变身智能导游!
【8月更文挑战第7天】随着企业信息化的发展,办公自动化工具如钉钉宜搭成为提高效率的关键。宜搭是一款低代码平台,支持灵活的表单设计与流程管理。以旅行社报名表为例,介绍如何实现单选字段联动图文展示:用户选择目的地后自动显示相关信息。设计上,先创建单选和图文字段,再设置联动逻辑。通过简单的后台配置即可实现动态展示效果,提升用户体验与数据准确性。
104 0
|
6月前
|
监控 前端开发
Zabbix使用外部邮箱服务器发送邮件报警
Zabbix使用外部邮箱服务器发送邮件报警
|
6月前
|
SQL DataWorks 机器人
DataWorks常见问题之导致钉钉群的机器人发报警消息如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
105 7
|
6月前
|
数据采集 DataWorks 监控
DataWorks常见问题之监控规则是数据质量配置好钉钉机器人不报警如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
6月前
在钉钉宜搭中,要实现单选关联选项设置与图文展示的关联
在钉钉宜搭中,要实现单选关联选项设置与图文展示的关联
425 7
在钉钉中,纯文本消息如何设置字体样式?
在钉钉中,纯文本消息如何设置字体样式?
617 1

推荐镜像

更多