凌晨三点收告警短信?这波飞书集成操作,让95%运维人告别秃头
midnight, the sound of a phone buzzing wakes you up abruptly. "又是告警!"你猛地从床上坐起,眼睛酸涩地盯着手机屏幕。作为一名运维工程师,这样的场景几乎成了家常便饭。无论是深夜还是清晨,系统故障总能找到你的联系方式,仿佛在提醒你:科技24小时不眠不休,而人类却需要睡觉。
这种永无止境的“On-call”生活,不仅让运维人的头发日渐稀疏,也让这个行业面临着前所未有的挑战。我们不得不承认,在数字化时代,系统的稳定性和高效的故障响应能力已经成为企业的生命线。但问题是:如果告警系统真的不再延迟、不再冗余、甚至可以预测问题的发生,运维工程师会集体失业吗?🤔
别担心,今天这篇文章将带你解锁Zabbix7.2+飞书的完美结合,用三行代码告别 midnight panic,让告警信息飞入你的飞书,实现真正高效的故障响应。
前提条件准备
创建飞书群
登录飞书,创建飞书群组,群名称输入Zabbix告警通知 点击创建

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

点击选择自定义机器人

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

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

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

准备Python脚本
将下面的python脚本保存到/usr/lib/zabbix/alertscripts 路径下并给脚本起名为feishu.py
#!/usr/bin/python3
import requests
import json
import sys
import os
import datetime
url = ""#你复制的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 response
if __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脚本测试
当我们完成上面的工作后,我们可以使用脚本来做一次测试,检查脚本是否生效。
./feishu.py "脚本测试"
当我们执行完成后,可以在飞书的群中看到机器人发送的消息 脚本测试

Zabbix 7.2 页面配置
配置报警媒介
登录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}点击测试 动作进行测试。测试正常的话会提示测试成功,同时飞书群里面也会有对应的消息。


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

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

点击操作 、添加 进行触发器动作配置,填写完成后点击更新
✅ 发送给用户组: 根据你的实际场景进行设置,默认组是zabbix administrator
✅ 发送给用户: 根据你的实际场景进行设置,默认演示使用admin用户
✅ Send to media type: 选择我们刚才创建的媒介飞书

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

配置完成

配置用户报警媒介
点击用户、用户、Admin

点击报警媒介、添加

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

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

凌晨三点手机不再亮,高效运维从此稳如磐石!
至此,Zabbix 7.2 告警与飞书机器人深度联动的全流程已部署完毕!跟着教程一步步操作下来,是不是发现看似复杂的系统集成其实只需几行配置就能轻松搞定?如果在创建飞书机器人、调试告警模板或是变量映射时遇到疑问,欢迎在评论区甩出你的问题,运维老司机在线帮你排雷!
如果你还想解锁更多实用技能,比如如何用Zabbix实现业务级健康度评分、如何通过飞书表格自动化生成故障报告,记得给文章点个「在看」并留言催更。后续我们会持续分享运维自动化的一线实战技巧,助你从「救火队员」进阶为「防御大师」,让系统稳定性与发量同步增长!
从此半夜告警不再扰人清梦,高效运维也能事半功倍!
本文链接:https://www.jingber.cn/post/3903.html 转载需授权!

微信扫一扫,打赏作者吧~