0

0

Linux 告警通知策略与优化

舞姬之光

舞姬之光

发布时间:2026-02-22 15:49:03

|

407人浏览过

|

来源于php中文网

原创

alertmanager 一触发就发 5 条微信,根本原因是 group_by 未按业务维度(如 alertname、job、severity)配置,导致同一故障被拆分为多个分组重复通知;需调整 group_wait 和 group_interval,验证路由避免多匹配,并确保微信等渠道去重由 alertmanager 层控制。

linux 告警通知策略与优化

告警重复发送:为什么 Alertmanager 一触发就发 5 条微信?

根本原因是分组(group_by)配置没对齐业务语义,导致同一故障被拆成多个分组反复通知。比如按 instance 分组,但一个服务跑在多个容器里,每个容器都单独触发告警,又没做聚合,自然刷屏。

实操建议:

Gaga
Gaga

曹越团队开发的AI视频生成工具

下载
  • 优先用业务维度分组,比如 group_by: ['alertname', 'job', 'severity'],而不是默认的 [... 'instance']
  • 检查 group_wait(首次发前等待)和 group_interval(后续合并窗口),建议设为 30s5m,避免过早或过久积压
  • 确认接收器(receiver)是否在 route 多层嵌套中被意外匹配多次——用 amtool config routes test 验证路由路径
  • 微信/钉钉等渠道本身不支持去重,必须靠 Alertmanager 层控制,别指望下游过滤

silence 失效:明明加了静默,告警还在推

静默规则没生效,90% 是因为匹配标签不全或时间范围错位。Alertmanager 要求所有标签完全匹配才静默,少一个 job="api" 或多一个 env="staging" 都会跳过。

实操建议:

  • 从告警详情页点「Silence this alert」生成模板,再手动补全缺失标签,别凭记忆手写
  • 注意时区:静默时间填的是 UTC,不是本地时间;amtool 默认也用 UTC,用 --utc=false 可切本地,但 Web UI 始终 UTC
  • 检查静默状态是否为 active(不是 pendingexpired),过期时间显示在列表第二列,容易被忽略
  • 静默不继承子路由——如果告警进了子 route,而你在父级建的静默,大概率不生效

自定义告警内容:微信消息里怎么带 runbook_url 和实例负载?

Alertmanager 本身不执行查询,所有动态字段都得靠 Prometheus 的 annotations 提前注入,或者用 {{ template }} 在通知模板里拼接。直接在模板里调用函数查数据是不可能的。

实操建议:

  • alert_rules.yml 里把需要的上下文塞进 annotations,比如:
    annotations:<br>  summary: "High CPU on {{ $labels.instance }}"<br>  runbook_url: "https://wiki.example.com/runbooks/{{ $labels.job }}-cpu-high"<br>  value: "{{ $value }}"
  • 微信模板用 Go text/template 语法,引用注解用 {{ .Annotations.runbook_url }},别漏掉 .Annotations. 前缀
  • 想带实时指标值(如当前 CPU 百分比),必须在 alert rule 的 expr 里用 label_replacevector 注入,不能靠模板运行时计算
  • 避免在模板里写复杂逻辑——微信消息长度限制严,超长会被截断,且无错误提示

高可用部署下,告警丢了:两个 alertmanager 实例为啥不共享静默和抑制?

Alertmanager 集群模式(--cluster.peer)只同步告警状态和静默,不自动同步配置变更。如果你改了配置但只 reload 了一个实例,或者两个实例启动参数不一致(比如 cluster listen 地址没对齐),就会出现“这个实例收得到、那个收不到”或“静默只在一个上生效”的现象。

实操建议:

  • 集群节点必须用相同配置启动,尤其 --cluster.advertise-address--cluster.listen-address 要能互相访问,用 netstat -tuln | grep :9094 确认端口监听正常
  • reload 配置必须对所有实例同时操作,推荐用 systemd 服务文件 + systemctl reload alertmanager@{1..2},别手工 curl 单个
  • 抑制规则(inhibit_rules)依赖精确的标签匹配,集群间同步没问题,但若两个实例加载了不同版本配置,抑制可能一边生效一边不生效
  • curl http://am1:9093/metrics | grep alertmanager_cluster_alertmanager_cluster_peers_connected 是否为预期数量,这是最直接的连通性证据
配置热加载、静默生命周期、集群脑裂——这些地方没有报错日志,但问题爆发时往往已经丢了几轮告警。盯住 amtool 输出和 /metrics 里的指标,比看 UI 更靠谱。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
curl_exec
curl_exec

curl_exec函数是PHP cURL函数列表中的一种,它的功能是执行一个cURL会话。给大家总结了一下php curl_exec函数的一些用法实例,这个函数应该在初始化一个cURL会话并且全部的选项都被设置后被调用。他的返回值成功时返回TRUE, 或者在失败时返回FALSE。

452

2023.06.14

linux常见下载安装工具
linux常见下载安装工具

linux常见下载安装工具有APT、YUM、DNF、Snapcraft、Flatpak、AppImage、Wget、Curl等。想了解更多linux常见下载安装工具相关内容,可以阅读本专题下面的文章。

182

2023.10.30

alert怎么实现换行
alert怎么实现换行

alert通过使用br标签来实现换行。更多关于alert相关的问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

500

2023.11.07

http500解决方法
http500解决方法

http500解决方法有检查服务器日志、检查代码错误、检查服务器配置、检查文件和目录权限、检查资源不足、更新软件版本、重启服务器或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

470

2023.11.09

http请求415错误怎么解决
http请求415错误怎么解决

解决方法:1、检查请求头中的Content-Type;2、检查请求体中的数据格式;3、使用适当的编码格式;4、使用适当的请求方法;5、检查服务器端的支持情况。更多http请求415错误怎么解决的相关内容,可以阅读下面的文章。

441

2023.11.14

HTTP 503错误解决方法
HTTP 503错误解决方法

HTTP 503错误表示服务器暂时无法处理请求。想了解更多http错误代码的相关内容,可以阅读本专题下面的文章。

3118

2024.03.12

http与https有哪些区别
http与https有哪些区别

http与https的区别:1、协议安全性;2、连接方式;3、证书管理;4、连接状态;5、端口号;6、资源消耗;7、兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2655

2024.08.16

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1520

2023.06.21

pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

1030

2026.02.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 9.5万人学习

Git 教程
Git 教程

共21课时 | 3.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号