【Zabbix 多渠道报警全攻略(附图文教程):钉钉 / 企微 / 飞书 / 邮箱配置,含前置环境搭建(监控项、触发器、脚本与动作创建)、完整配置流程(脚本添加、媒介创建、关联授权)与功能测试】

提示:本文原创作品,良心制作,干货为主,简洁清晰,一看就会

Zabbix钉钉/企微/飞书/邮箱报警

  • 一、前置环境
    • 1.1 实验环境介绍
    • 1.2 创建监控项
    • 1.3 创建触发器
    • 1.4 创建脚本
    • 1.5 创建动作
    • 1.6 测试nginx能否重启
  • 二、钉钉报警
    • 2.1 创建机器人
    • 2.2 添加脚本
    • 2.3 创建媒介
    • 2.4 用户关联媒介
    • 2.5 动作关联媒介
    • 2.6 测试报警
  • 三、企微/飞书报警
    • 3.1 创建机器人
    • 3.2 添加脚本
    • 3.3 创建媒介
    • 3.5 用户关联媒介
    • 3.6 动作关联媒介
    • 3.7 测试报警
  • 四、邮箱报警
    • 4.1 邮箱开启授权
    • 4.2 创建媒介
    • 4.3 动作关联媒介
    • 4.4 测试报警

一、前置环境

1.1 实验环境介绍

我先说一下我的环境

IP地址主机名部署软件节点作用及职责安装配置状态
192.168.136.134zabbix-server1. Zabbix Server
2. Zabbix Agent
3. MySQL
4. Apache
监控系统核心节点,负责接收各被监控节点上报的数据,同时承担数据存储、告警触发及监控面板展示的核心职责已完成安装与配置
192.168.136.135zabbix-node11. Zabbix Agent
2. 业务被监控软件
业务侧被监控节点,通过Zabbix Agent采集本地系统资源与业务软件运行状态数据,并实时上报至Zabbix Server已完成安装与配置

我的环境比较简单,这里我不再演示怎么搭建环境,不清楚的小伙伴可以看我这篇文章https://blog.csdn.net/m0_63756214/article/details/156421867?spm=1001.2014.3001.5501

什么时候我们有报警需求?当监控指标出现异常,需要 Zabbix 及时推送告警通知时,需先创建对应监控项,再为该监控项配置触发器;触发器触发后,将执行预设动作(如运行指定命令或发送告警消息)

接下来我会做的事如下:

  1. 创建监控项;2. 配置触发器,在监控项数据异常时触发;3.创建脚本,执行重启nginx的命令;4.创建媒介发送消息;5. 创建动作,关联媒介,触发器触发后自动执行命令并发送告警消息

本次将以监控 Nginx 80 端口为例进行实操演示


1.2 创建监控项

新增一个监控项


1.3 创建触发器




1.4 创建脚本

这一步的作用是,当nginx宕机后会执行脚本重启nginx



1.5 创建动作

这里我们可以先创建动作,之后再关联媒介




1.6 测试nginx能否重启

手动关闭nginx模拟故障,看动作能不能正确触发
点击“问题”中可以看到,我们手动关闭后nginx被zabbix自动重启

确认上述配置无误后,即可开始配置消息报警。本实验核心是讲解告警配置方法,即便不添加上述脚本也能完成演示;但为了内容更详尽,这里还是对脚本做了说明



二、钉钉报警

2.1 创建机器人





2.2 添加脚本

#在zabbix-server中操作root@zabbix-server:~# python3 -V #先看一下有没有python3的环境;如果你是centos7系统要另外去配置python的环境Python3.6.9 root@zabbix-server:~# apt -y install python3-pip #安装python3-pip工具root@zabbix-server:~# pip3 install requests #安装requests库root@zabbix-server:~# cd /usr/lib/zabbix/alertscripts/ #这个目录是专门用来放脚本的root@zabbix-server:/usr/lib/zabbix/alertscripts# lsroot@zabbix-server:/usr/lib/zabbix/alertscripts# vim dingding.py#!/usr/bin/env python3importrequests,json,sys,os,datetime# 钉钉机器人webhook地址webhook="粘贴webhook地址"# 处理参数:兼容测试和Zabbix调用场景user=sys.argv[1]iflen(sys.argv)>=2else""# 测试时如果只传1个参数,文本用第一个参数;Zabbix调用时用第3个参数text=sys.argv[3]iflen(sys.argv)>=4elsesys.argv[1]# 构建钉钉消息体data={"msgtype":"text","text":{"content":text},"at":{"atMobiles":[user],"isAtAll":False}}headers={'Content-Type':'application/json'}# 发送请求x=requests.post(url=webhook,data=json.dumps(data),headers=headers)# 确保日志目录存在log_dir="/var/log/zabbix"ifnot os.path.exists(log_dir): os.makedirs(log_dir)# 写入日志(UTF-8编码避免中文乱码)log_file=os.path.join(log_dir,"dingding.log")with open(log_file,"a+",encoding="utf-8")as f: f.write("\n"+"--"*30)ifx.json()["errcode"]==0: f.write(f"\n{datetime.datetime.now()} {user} 发送成功\n{text}")else: f.write(f"\n{datetime.datetime.now()} {user} 发送失败\n{text}")root@zabbix-server:/usr/lib/zabbix/alertscripts# chmod +x dingding.pyroot@zabbix-server:/usr/lib/zabbix/alertscripts# ./dingding.py "问题" #测试一下脚本

查看钉钉收到消息


2.3 创建媒介

去zabbix界面上操作

消息模板中一定要包含我们刚才在钉钉中创建的关键字,不然会收不到消息


2.4 用户关联媒介

待会我们需要一个用户去发送消息,所以该用户需要有媒介的权限



2.5 动作关联媒介

选择我们刚才创建的动作



2.6 测试报警

手动停掉nginx模拟故障,然后去"问题"中查看,可以看到执行了两部动作:执行重启命令和发送消息



三、企微/飞书报警

企微和飞书的设置方式一样,这里我拿企微做例子

3.1 创建机器人



3.2 添加脚本

root@zabbix-server:/usr/lib/zabbix/alertscripts# cd /usr/lib/zabbix/alertscripts/root@zabbix-server:/usr/lib/zabbix/alertscripts# vim weixi.py#!/usr/bin/env python3importrequests, json, sys, os, datetime# ==================== 替换成你的企业微信机器人webhook ====================WEBHOOK_URL="替换成你的企业微信机器人webhook"# ======================================================================# 处理告警文本参数(无参数用默认值,有参数则拼接所有传入的参数)alert_text="Zabbix默认告警:无具体信息"iflen(sys.argv)>=2: alert_text=" ".join(sys.argv[1:])# 拼接所有传入的参数作为告警文本# 构建企业微信纯文本消息体(移除所有@人相关字段)data={"msgtype":"text","text":{"content":alert_text# 仅保留告警文本,无@人逻辑}}headers={'Content-Type':'application/json;charset=utf-8'}response_result={"errcode":-1,"errmsg":"未发送请求"}# 发送请求(保留UTF-8编码解决中文问题)try: json_str=json.dumps(data,ensure_ascii=False)json_bytes=json_str.encode('utf-8')resp=requests.post(url=WEBHOOK_URL,data=json_bytes,headers=headers,timeout=10)resp.raise_for_status()response_result=resp.json()except Exception as e: response_result["errmsg"]=f"请求失败:{str(e)}"# 确保日志目录存在log_dir="/var/log/zabbix"ifnot os.path.exists(log_dir): os.makedirs(log_dir,exist_ok=True)# 写入日志(移除手机号相关记录)log_file=os.path.join(log_dir,"weixin.log")with open(log_file,"a+",encoding="utf-8")as f: f.write("\n"+"--"*35)log_content=(f"\n时间:{datetime.datetime.now()}"f"\n告警文本:{alert_text}"f"\n发送结果:{'成功' if response_result['errcode'] == 0 else '失败'}"f"\n错误信息:{response_result['errmsg']}")f.write(log_content)root@zabbix-server:/usr/lib/zabbix/alertscripts# chmod +x weixi.pyroot@zabbix-server:/usr/lib/zabbix/alertscripts# ./weixi.py "Zabbix告警:Nginx 80端口异常" #测试一下脚本能不能发送

企微接受消息成功


3.3 创建媒介

参考钉钉报警

3.5 用户关联媒介

参考钉钉报警

3.6 动作关联媒介

参考钉钉报警


3.7 测试报警

手动停掉nginx模拟故障,然后去"问题"中查看,可以看到执行了两部动作:执行重启命令和发送消息



四、邮箱报警

4.1 邮箱开启授权

去邮箱的设置中开启这两个服务,然后复制弹窗中的授权码


4.2 创建媒介

接下来我们创建媒介

添加完成后,可以测试一下邮件能不能发生成功

查看163邮箱,发现邮件接受成功


4.3 动作关联媒介

这个时候我们回到刚才创建的action_trigger_nginx_listen_80这个动作,然后添加两个操作


下面这一步是保证Admin和刚才我们创建的媒介关联


4.4 测试报警

接下来我们进行测试,验证 Nginx 启停状态是否能正常触发邮件通知
进入监测→问题查看状态,正常情况下 Nginx 无异常;手动停掉 Nginx 模拟故障,触发器会触发关联动作尝试重启服务
若重启失败,将通过问题模板发送告警邮件;若重启成功,则通过问题恢复模板发送通知邮件



注:
文中若有疏漏,欢迎大家指正赐教。
本文为100%原创,转载请务必标注原创作者,尊重劳动成果。
求赞、求关注、求评论!你的支持是我更新的最大动力,评论区等你~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1135981.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

逻辑回归中的条件概率

这个式子 读作:“在已知 x 的条件下,y1 的概率”。 1) 每个符号分别是什么意思? y:要预测的“标签/结果”。 在二分类里通常 y∈{0,1}。 例:垃圾邮件 y1,正常邮件 y0。 x:输入特征(…

从零实现:搭建ARM64蓝屏调试环境并进行WinDbg分析

手把手搭建ARM64蓝屏调试环境:从零开始用WinDbg定位系统崩溃你有没有遇到过这样的场景?一台搭载骁龙处理器的Windows on ARM笔记本突然蓝屏,重启后只留下一个MEMORY.DMP文件,而你面对这个“黑盒”毫无头绪。更糟的是,网…

DevicePairingFolder.dll文件丢失找不到问题 免费下载方法分享

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…

研究发现商业AI模型可完整还原《哈利·波特》原著内容

机器学习模型,特别是商业模型,通常不会公开开发者用于训练的数据集。然而,模型包含哪些内容以及这些材料是否能通过特定提示被提取出来,仍然是具有经济和法律后果的重要问题,更不用说伦理和隐私方面的考量。 Anthropic…

DDACLSys.dll文件丢失找不到问题 免费下载分享

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…

Pspice在OrCAD Capture中的仿真探针使用深入解析

Pspice仿真探针实战指南:如何在OrCAD Capture中精准捕获电路行为你有没有遇到过这样的场景?花了半小时搭好一个Buck电路,信心满满地跑完瞬态仿真,结果打开波形一看——关键节点没监控、电流纹波看不见、效率曲线还得手动算。更糟的…

ddodiag.exe文件丢失找不到问题 免费下载方法

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…

从零实现AUTOSAR NM报文唤醒的软件配置

AUTOSAR NM报文唤醒:从配置到落地的完整实践指南你有没有遇到过这样的场景?整车钥匙未插入,但某个车门模块却频繁“醒来”,继而耗尽蓄电池;或者遥控解锁时响应迟钝,排查半天才发现是网络管理状态没对齐。这…

UVC协议实现高清视频传输:项目应用详解

UVC协议如何让高清视频“即插即用”?一个嵌入式工程师的实战笔记你有没有遇到过这样的场景:花了几千块买的专业摄像头,插上电脑却还要装一堆驱动;或者在Linux板子上调了三天图像采集程序,结果换到Windows又得重来一遍&…

dll一键修复工具 dll运行库修复工具下载

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…

Razer在2026年CES展会推出全息AI伴侣项目

去年Razer展示了Project Ava数字助手,它生活在你的电脑中帮助调整设置或提供游戏建议。但现在在2026年CES展会上,该公司的AI伴侣平台获得了重大升级,同时搬入了新的"住所"。现在,Project Ava不再完全局限于你的PC屏幕&a…

独立IP服务器有哪些常见的应用场景?

独立IP服务器凭借其专属IP地址、高安全性和稳定性,在多个关键业务场景中发挥着重要作用。以下是独立IP服务器的主要应用场景:一、大型企业网站与电商平台独立IP服务器是大型企业官网和电商平台的首选方案。对于日均访问量百万级的企业网站,独…

模拟信号基础知识体系梳理:完整学习路径

模拟信号从入门到实战:一条清晰的技术成长路径 你有没有遇到过这样的情况? 传感器输出的电压明明应该稳定在1.65V,可实测却一直在跳动;心电图信号刚放大就自激振荡,像收音机搜台时的“滋滋”声;或者ADC读数…

Vitis安装与Xilinx USB下载器驱动兼容性完整指南

Vitis 安装后无法识别硬件?彻底解决 Xilinx USB 下载器驱动兼容性问题 你有没有遇到过这样的情况:好不容易把 Vitis 装好,项目也建好了,结果一点击“Program Device”—— 设备管理器显示未知设备,Vivado Hardware M…

模拟电路基础知识总结:新手入门必看的十大核心概念

模拟电路入门:从零开始理解真实世界的信号处理你有没有想过,为什么你的耳机能还原出歌手细微的呼吸声?为什么温度传感器可以精确到0.1℃?这些看似平常的功能背后,其实都依赖于一个常被忽视却至关重要的技术领域——模拟…

从零搭建鲲鹏 HPC 环境:从朴素矩阵乘法到高性能实现

一、引言 高性能计算(HPC)是科学研究和工程应用的重要支撑,而矩阵运算是 HPC 领域最基础也最重要的操作之一。本文将通过一个简单但实用的案例,矩阵乘法的并行优化,从零开始在鲲鹏平台上进行 HPC 开发实践。 二、环境准…

救命神器 9款一键生成论文工具测评:继续教育论文写作全攻略

救命神器 9款一键生成论文工具测评:继续教育论文写作全攻略 2026年继续教育论文写作工具测评:高效创作的得力助手 在继续教育领域,论文写作不仅是提升专业能力的重要环节,更是职称评定、成果展示的关键环节。然而,面对…

双卧轴搅拌机与立轴行星式搅拌机哪种设备好?

在混凝土搅拌设备领域,双卧轴搅拌机与立轴行星式搅拌机犹如两颗并行的星辰,各自在特定场景中闪耀着独特光芒。二者并非简单的替代关系,而是通过差异化设计满足不同工程需求的互补型设备。小编将从技术原理、应用场景、维护成本三个维度展开分…

基于DWA的动态环境下多智能体自主避障路径优化附MATLAB代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和数学建模资料 &#x1f34…

数字化SPC项目申报,看这个投资回报评估就够了...

之前的两篇文章中,我给大家分析了Excel和纸面SPC的种种问题,也介绍了数字化SPC的应用场景: 还在用Excel做SPC分析?你得看看这个…… 数字化SPC系统:七大应用场景,从“被动响应”到“主动预防”的转变 看完之后会有人觉得应该上一个数字化SPC系统,解决当前的燃眉之急。…