Prometheus 告警规则合成器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/prometheus-alert-rule-synthesizer 到你的 AI 助手中。
技能介绍
解决什么问题
手写 Prometheus 告警规则看起来简单,实际上很容易出错。随着监控项增多,rule_groups 里会堆满重复的阈值、不一致的 for 持续时间,以及各种标签组合错配。更麻烦的是规则之间缺乏一致性:同一个指标在不同团队维护的文件中可能挂着完全不同的阈值,告警触发后也很难追溯阈值的来源与依据。
这个技能针对的痛点很明确:从已有的指标基线出发,自动合成结构一致、参数统一的告警规则,减少人工编写和 Review 的负担。
核心能力与工作方式
技能的工作链路可以分成三层:
- 规则生成:通过
Prometheus HTTP API v1查询指标基线,再基于PromQL构造告警表达式。PromQL 负责对原始指标做聚合、速率计算与阈值比较,生成的规则可以直接交给 Prometheus 加载。 - 路由配置:规则生成后,通过
Alertmanager API配置告警的分组、抑制与接收者路由,避免告警风暴或路由错配。 - 升级通知:通过
PagerDuty Events API v2接入升级流程,把严重级别的告警推进值班通道,形成从触发到响应的闭环。
整体来看,它把「指标观测 → 规则合成 → 路由分发 → 升级通知」串成一条自动化链路,而不是孤立地产出一段 YAML。
适用边界与注意点
- 自动合成的规则质量取决于输入指标基线的质量,基线本身有偏差时,生成的阈值与持续时间会继承这些偏差。
- PromQL 表达式与 Alertmanager 路由是强耦合的配置,生成后仍需人工确认分组策略和接收者匹配关系。
- PagerDuty 集成只覆盖事件推送,不负责告警的认领、解决等后续流程,这部分仍需按团队约定操作。
截图预览
使用场景
- 新增监控指标后,要从指标基线批量生成告警规则,避免手写 YAML 导致阈值与 `for` 时长不统一
- 把各团队分散维护的告警规则统一整理,基于同一份指标基线合成,消除阈值不一致
- 规则上线前要配置 Alertmanager 的分组与抑制策略,让同类告警归并到同一接收人
- 严重告警触发时需经 PagerDuty Events API v2 推送到值班通道,而不是只发邮件
适合人员
- 负责 Prometheus 监控的 SRE,需要在指标规模增长时快速补齐告警规则
- 维护 Alertmanager 配置的运维工程师,想让分组与抑制策略随新规则同步更新
- 管理值班升级流程的告警负责人,希望严重告警按 PagerDuty 通道触达值班人员
- 从多份团队规则文件迁移到统一基线的监控平台工程师