【飞书】Zabbix 7.2 告警与飞书机器人深度联动的全流程

news/2025/2/21 19:56:47/文章来源:https://www.cnblogs.com/o-O-oO/p/18730052

midnight, the sound of a phone buzzing wakes you up abruptly. "又是告警!"你猛地从床上坐起,眼睛酸涩地盯着手机屏幕。作为一名运维工程师,这样的场景几乎成了家常便饭。无论是深夜还是清晨,系统故障总能找到你的联系方式,仿佛在提醒你:科技24小时不眠不休,而人类却需要睡觉。

这种永无止境的“On-call”生活,不仅让运维人的头发日渐稀疏,也让这个行业面临着前所未有的挑战。我们不得不承认,在数字化时代,系统的稳定性和高效的故障响应能力已经成为企业的生命线。但问题是:如果告警系统真的不再延迟、不再冗余、甚至可以预测问题的发生,运维工程师会集体失业吗?🤔

别担心,今天这篇文章将带你解锁Zabbix7.2+飞书的完美结合,用三行代码告别 midnight panic,让告警信息飞入你的飞书,实现真正高效的故障响应。

一、前提条件准备

1.1 创建飞书群

登录飞书,创建飞书群组,群名称输入Zabbix告警通知 点击创建

打开飞书群设置,点击群机器人 进行添加

点击选择自定义机器人

填写机器人名称,为了良好的使用体验,推荐上传自定义头像。点击添加

webhook地址复制保存,后面会用到。对于安全设置,建议生产环境根据实际场景情况建议配置,点击完成

飞书会提醒上面的安全设置未配置,建议配置。

1.2 准备Python脚本

将下面的python脚本保存到/usr/lib/zabbix/alertscripts 路径下并给脚本起名为feishu.py.

#!/usr/bin/python3
import requests
import json
import sys
import os
import datetimeurl = ""#你复制的webhook地址粘贴进url内defsend_message(message):payload_message = {"msg_type": "text","content": {"text": message}}headers = {'Content-Type': 'application/json'}response = requests.request("POST", url, headers=headers, data=json.dumps(payload_message))return responseif __name__ == '__main__':text = sys.argv[1]send_message(text)

执行命令为刚创建的脚本添加执行权限

chomod +x feishu.py

由于脚本引用了requests库,通常需要单独安装一下,此处可以根据你实际运行的情况选择。

# 使用 dnf 软件包管理器以管理员权限安装 Python 3 的 pip 工具
sudo dnf install python3-pip# 使用管理员权限通过 pip3 将 pip 升级到最新版本
sudo pip3 install --upgrade pip# 使用管理员权限通过 Python 3 的包管理工具 pip3 安装名为 “requests” 的库
sudo pip3 install requests

1.3 脚本测试

当我们完成上面的工作后,我们可以使用脚本来做一次测试,检查脚本是否生效。

./feishu.py "脚本测试"

当我们执行完成后,可以在飞书的群中看到机器人发送的消息 脚本测试

二、Zabbix 7.2 页面配置

2.1 配置报警媒介

登录Zabbix 7.2 管理页面上,点击 告警媒介创建媒介类型

创建报警媒介,填写下面的内容后,点击 消息模版

✅ 名称: 飞书
✅ 类型: 选择 脚本
✅ 脚本名称: 填写 feishu.py 这个名称要和我们刚才保存的python脚本名字一致。
✅ 脚本参数: 输入 {ALERT.MESSAGE}

点击消息模版、添加

消息模版中的内容可以根据你的实际需求进行个性化配置,本文我们使用默认的消息模版添加 问题、问题恢复 两个消息模版,点击更新

消息类型:问题
模版内容:
主题: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}
消息类型:问题恢复
模版内容:
主题:Resolved in {EVENT.DURATION}: {EVENT.NAME}
消息:
Problem has been resolved at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Problem duration: {EVENT.DURATION}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}

点击测试 动作进行测试。测试正常的话会提示测试成功,同时飞书群里面也会有对应的消息。

2.2 创建告警动作

点击告警动作触发器动作创建动作 进行触发器动作创建。

触发器动作设置,名称为了更好的识别,可以使用飞书也可以根据你的需求随意填写。

条件根据你的实际需求进行设置。

点击操作添加 进行触发器动作配置,填写完成后点击更新

✅ 发送给用户组: 根据你的实际场景进行设置,默认组是zabbix administrator
✅ 发送给用户: 根据你的实际场景进行设置,默认演示使用admin用户
✅ Send to media type: 选择我们刚才创建的媒介飞书

重复上面的操作,完成 恢复操作的动作配置后,点击更新

配置完成

三、配置用户报警媒介

点击用户、用户、Admin

点击报警媒介、添加

配置报警媒介,类型选择飞书、收件人建议使用飞书群名称。点击更新

四、功能验证

我们在服务器上手动触发了一些服务器异常,此时我们在飞书群中成功看到了告警消息。

凌晨三点手机不再亮,高效运维从此稳如磐石!

至此,Zabbix 7.2 告警与飞书机器人深度联动的全流程已部署完毕!

原创 妮西 极客运维研习社

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

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

相关文章

Windows平台上Idea、Tomcat、浏览器页面显示乱码问题解决

核心:乱码问题是由于字符编码不一致导致的,所以解决乱码问题的核心概念是统一字符编码。首先我们查看各个平台的字符编码: Windows cmd中输入chcp 命令查看(Windows系统默认字符编码时GBK)936 代表 GBK 65001 代表 UTF-8 注意:通过chcp命令如 chcp 65001 来更改字符编码只…

关于 xrlong 是神的论证

xrlong orz搜索内容搜索结果__________________________________________________________________________________________本文来自博客园,作者:CuFeO4,转载请注明原文链接:https://www.cnblogs.com/hzoi-Cu/p/18729881

idea插件+cursor使用技巧

cursorignore配置# Compiled files *.class *.jar *.war# Build directories target/ build/# IDE files .idea/ *.iml .vscode/ .project .classpath .settings/# Logs *.log logs/# Temporary files *.tmp *.bak *.swp# Maven specific .mvn/ mvnw mvnw.cmd# Spring Boot spe…

设计测试用例方法 -经验方法(三种)

1、基于经验的测试技术之错误推测法 错误推测法也叫错误猜测法,就是根据经验猜想,已有的缺陷,测试经验和失败数据等可能有什么问题并依此设计测试用例2、基于经验的测试技术之异常分析法 系统异常分析法就是针对系统有可能存在的异常操作、软硬件缺陷引起的故障进行分析,依…

DeepSeek 即将发布 5 个开源项目;Cartesia Voice Changer:声音转换、克隆和实时语音翻译丨日报

开发者朋友们大家好:这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的 技术 」、「有亮点的 产品 」、「有思考的 文章 」、「有态度的 观点 」、「有看点的 活动 」,但内容仅代表编辑…

Spring复习-注解开发

@Component 基本Bean注解,主要是使用注解的方式替代原有xml的 标签及其标签属性的配置使用@Component 注解替代标签使用:再类上使用 @Component(value = "userDao") //若没有配置value,默认使用类名作为beanName public class UserDaoImpl implements UserDao { }…

测试用例编写技巧

一、用例模板 模板1:模板2:模板3:二、用例的来源 (1)公司就有模板 (2)自己设计模板 (3)用例管理工具种导出模板 三、写用例的核心要素 用例编号、用例标题、前置条件、用例步骤,预期结果、优先级(必填) 系统名称、模块名称、用例创建时间、用例类型、实际结果、执行…

利用deepseek,体验ai写代码

vscode利用cline接入火山引擎deepseek,免费体验ai写代码。注册火山引擎,开通deepseek服务进行火山引擎官网https://www.volcengine.com/,进行注册。进入控制台,访问火山方舟在左侧下拉菜单选择开通管理,开通模型,由于我已经开通过R1模型,以DeepSeek-R1-Distill-Qwen-32B…

测试用例编写

模板1:模板2:模板3:二、用例的来源(1)公司就有模板(2)自己设计模板(3)用例管理工具种导出模板三、写用例的核心要素用例编号、用例标题、前置条件、用例步骤,预期结果、优先级(必填)系统名称、模块名称、用例创建时间、用例类型、实际结果、执行时间(非必填项)四…

TEN 现已接入智谱 GLM-Realtime丨社区来稿

就在上周,三星 Galaxy S25 系列全球首发。基于最新 Galaxy AI 的三星 Galaxy S25 系列手机是三星在全球范围内首次推出具有视频通话功能的原生 AI 智能硬件产品。三星 Galaxy S25 系列背后的智谱最新实时音视频通话 GLM-Realtime 模型,今天已经以插件形式接入 TEN。现在你可以…

Canvas._left will be removed, DO NOT USE IT

问题:SignaturePad 手绘板,在电脑端可以绘制,在小程序端绘制以后不显示。开发者工具打印日志:Canvas._left will be removed, DO NOT USE IT.原因:真机使用时确实无法获取该canvas的实例属性_left.解决:通过微信小程序的wx.createSelectorQuery()方法得到query筛选器,通…

实战解析传统发电站智能化改造-第二期(带图带教程)

传统发电站的智能化改造,如同为老工匠配备高科技工具,提升效率与精准度。改造后的发电站兼具传统与智能,更高效、环保,适应现代能源需求。智慧系统搭建平台是连接感知层和应用层的桥梁,将原始数据转化为有价值的信息,为智能决策和应用提供支持。上期介绍了传统发电站改造…