Zabbix实现钉钉群告警

简介: Zabbix实现钉钉群告警

https://cloud.tencent.com/developer/article/1842957

需求:

Zabbix告警通知发送到钉钉群组

钉钉报警时基于zabbix,访问钉钉应用接口去推送的报警消息,所以我们需要一个在钉钉创建一个报警应用。

版本:

Zabbix:4.0.7

Python:2.7.5

一、钉钉配置

1、创建群组、添加告警机器人

钉钉的聊天界面,点击发起群聊:

钉钉要3个人才能建群,所以需要添加两个人即可。

2、点击群设置 → 智能群助手 → 添加更多 → 添加机器人 → 自定义 :

点击添加,输入机器人名字即可

生成了一个 webhook ,先复制,后面会用到。

二、zabbix配置

1、创建脚本

vi /etc/zabbix/zabbix_server.conf


:/alertscripts 找到这一行(alertscripts是zabbix-server自定义脚本的目录,所有自定义的脚本都放在此处)


cd /usr/lib/zabbix/alertscripts/

vi dingding.py

#!/usr/bin/python
# -*- coding: utf-8 -*
import requests
import json
import sys
import os
import datetime
#webhook = "https://xxxxxxxxxx" 钉钉机器人擎天柱的webhook地址
#第一个参数应该是收件人,更换成了机器人地址
#第二个参数应该是主题,更换成了收件人
#第三个参数是消息
#具体参数设置在zabbix报警媒介类型
webhook=sys.argv[1]
user=sys.argv[2]
text=sys.argv[3]
data={
        "msgtype":"text",
        "text":{
                "content":text
        },
        "at":{
                "atMobiles":[
                        user
                        ],
                        "isAtAll":True
            #"isAtAll": True 发送给群里面的所有人(不想让其他人收到报警这里填False即可)
        }
}
headers={'Content-Type':'application/json'}
x=requests.post(url=webhook,data=json.dumps(data),headers=headers)
#if os.path.exists("/usr/lib/zabbix/alertscripts/dingding.log"):
#       f=open("/usr/lib/zabbix/alertscripts/dingding.log","a+")
#else:
#       f=open("/usr/lib/zabbix/alertscripts/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()

:wq保存退出

chmod 755 dingding.py

手动测试是否能发消息到钉钉

./dingding.py “ERROR could not found java-scripts”

注意这里的内容包含了钉钉自定义的关键词ERROR,如果没有关键词你是发不过去的


三、Zabbix web界面设置

1、添加报警脚本到zabbix:

步骤:管理——报警媒介类型——创建报警媒介类型——更新

Problem: {EVENT.NAME}

Problem started at {EVENT.TIME} on {EVENT.DATE}

Problem name: {EVENT.NAME}

Host: {HOST.NAME}

Severity: {EVENT.SEVERITY}

Operational data: {EVENT.OPDATA}

Original problem ID: {EVENT.ID}

{TRIGGER.URL}


2、配置用户

收件人填写钉钉群机器人的Webhook地址

3、创建动作:配置>>动作

操作:

默认标题:故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME} 故障!

消息内容:

告警主机: {HOSTNAME1}

主机地址: {HOST.IP}

告警等级: {TRIGGER.SEVERITY}

监控项目: {TRIGGER.KEY1}

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

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

告警信息: {TRIGGER.NAME}

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

事件ID: {EVENT.ID}

恢复操作:

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

消息内容:

告警主机: {HOSTNAME1}

主机地址: {HOST.IP}

告警等级: {TRIGGER.SEVERITY}

监控项目: {TRIGGER.KEY1}

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

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

告警信息: {TRIGGER.NAME}

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

事件ID: {EVENT.ID}

4、进行钉钉报警测试

[root@JDCloud_Server alertscripts]# python dingding.py Test测试 132xxxx

相关文章
|
10月前
|
缓存
ecs-centos分区空间大于70时发送钉钉告警并清理
当分区空间大于70时,开始清理并发送钉钉告警。
119 1
|
10月前
|
机器人 关系型数据库 MySQL
shell脚本实现文件自动清理并推送钉钉机器人告警
shell脚本实现文件自动清理并推送钉钉机器人告警
139 1
|
10月前
|
运维 监控 安全
调用钉钉机器人API接口将堡垒机安全运维告警单发给运维人员
调用钉钉机器人API接口将堡垒机安全运维告警单发给运维人员
259 0
|
监控 Nacos 微服务
集成nacos,使用钉钉发送服务下线告警
我们在集成微服务框架的时候,涉及服务太多,如果是单节点的话,遇到凌晨服务挂起的问题会很麻烦。并且原生的监控也不是很理想。这里结合nacos,再通过钉钉来发送服务下线告警,这样可在第一时间确定服务异常并及时处理。
624 0
|
15天前
|
运维 监控 前端开发
Zabbix告警分析新革命:DeepSeek四大创新场景助力智能运维
面对日益复杂的IT环境,高效分析监控数据并快速响应成为运维的关键挑战。本文深入探讨了DeepSeek与Zabbix结合的创新应用,包括一键式智能告警分析、Zabbix文档知识库助手及钉钉告警增强功能。通过部署指南和实用脚本,展示了如何提升故障排查效率,为运维工程师提供高效解决方案。
128 5
|
26天前
|
人工智能 运维 监控
Zabbix告警分析新纪元:本地DeepSeek大模型实现智能化告警分析
本文由Zabbix中国峰会演讲嘉宾张世宏撰写,介绍如何通过集成Zabbix监控系统与深度求索(DeepSeek)AI助手,构建智能化告警处理方案。该方案利用Webhook机制传递告警信息,借助DeepSeek的智能分析能力,帮助运维团队快速识别问题根源并提供解决方案。文章详细描述了技术架构、环境搭建、Webhook配置及实际案例,展示了AI在运维领域的应用前景和优势。
262 0
|
7月前
|
监控
一文吃透企业级elk技术栈:9. zabbix结合logstash告警
一文吃透企业级elk技术栈:9. zabbix结合logstash告警
|
7月前
|
JSON 机器人 Go
go接收alertmanager告警并发送钉钉
go接收alertmanager告警并发送钉钉
101 0
|
7月前
|
存储 Prometheus Cloud Native
[prometheus]配置alertmanager和钉钉告警
[prometheus]配置alertmanager和钉钉告警
337 0
|
9月前
|
JSON 分布式计算 DataWorks
DataWorks产品使用合集之能否支持从结果表取出示警信息并且打通钉钉进行告警
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。

推荐镜像

更多