Prometheus PromQL 告警构建器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/prometheus-promql-alert-builder
技能介绍
告警规则配置的常见痛点
在 Prometheus 监控体系中,编写告警规则是运维工程师的高频工作,但也暗藏不少陷阱:PromQL 表达式语法容错率低——rate() 和 irate() 的适用场景混淆、聚合运算符 sum() 缺少 by 子句导致标签爆炸;label matchers 条件设计粗放——误用 =~ 进行全匹配导致告警范围失控,或标签键名拼写错误引发告警失效;for 持续时间设置失衡——过长导致故障发现延迟,过短则因指标抖动触发误告警;Alertmanager 路由对接低效——手动配置路由树时易出现标签匹配冲突,通知渠道分发混乱。这些问题不仅消耗时间,还可能导致告警漏报或误报,削弱监控体系的可靠性。
技能的核心能力与工作逻辑
这个技能围绕告警规则的全生命周期构建,核心能力包括:
- PromQL 表达式校验与生成:支持根据监控目标(如 CPU 使用率、接口错误率)自动生成符合语法规范的 PromQL 表达式,重点优化聚合运算逻辑(如为
sum()添加正确的by标签分组),避免因语法错误导致规则无法加载; - 告警规则结构化输出:生成包含
expr(告警表达式)、labels(告警标签)、annotations(告警描述)、for(持续时间)的完整 YAML 规则,其中labels会包含severity、service等标准化标签,方便后续路由配置; - Alertmanager 路由对接指导:根据告警标签推荐路由树配置方案,比如通过
severity=critical匹配企业 IM 的紧急通知渠道,severity=warning匹配邮件通知,同时支持静默规则的生成(如维护窗口期自动抑制告警); - 阈值与持续时间适配:结合指标历史数据特征,推荐合理的
for持续时间(如针对波动较大的业务指标建议设置 5-10 分钟,稳定的系统指标建议 1-2 分钟),避免因短时间抖动触发误告警。
适用边界与注意事项
该技能聚焦告警规则的构建与对接,不涉及 Prometheus 服务本身的安装、版本升级或性能调优;生成的规则依赖现有 Exporter 提供的指标,无法直接创建新的监控指标;对于涉及多集群、自定义告警逻辑(如跨服务关联分析)的场景,需要手动调整生成的规则内容;此外,技能默认使用 Prometheus 官方推荐的最佳实践,若团队有自定义标签规范或告警分级标准,需提前同步相关配置信息。
截图预览
使用场景
- 为新上线的Web服务编写Prometheus告警规则时,需要生成带正确label matchers和for持续时间的PromQL表达式
- 需要将现有的CPU/内存监控指标转换为PromQL告警规则,并配置聚合运算避免标签爆炸
- 在Alertmanager中配置路由树时,需要根据告警标签设置不同通知渠道的分发规则
- 维护监控体系时需要为故障静默场景生成PromQL静默规则,避免维护窗口期误告警
适合人员
- 需要为业务系统配置Prometheus监控告警的运维工程师,希望快速生成符合语法规范的PromQL规则
- 负责监控体系维护的DevOps工程师,需要对接Alertmanager路由树实现告警精准分发
- 需要编写告警规则的后端开发者,希望避免PromQL语法错误导致规则加载失败
- 负责企业监控平台建设的SRE工程师,需要统一告警标签规范和静默规则配置