首页/云/可观测性速查/告警规则:expr、for 与 annotations
本包目录(282 条)
监控体系与方法40 条
Prometheus 与采集64 条
Grafana 与看板53 条日志平台52 条链路追踪23 条告警与响应50 条

告警规则:expr、for 与 annotations

告警规则由 alert 名称、expr 表达式、for 持续时长、labels 与 annotations 组成;expr 返回非空即进入 pending,持续超过 for 转为 firing。

可观测性速查云更新于 2026-10-12

规则示例

规则示例
groups:
  - name: api_alerts
    rules:
      - alert: ApiHighErrorRate
        expr: |
          sum by (service) (rate(http_requests_total{code=~"5.."}[5m]))
            / sum by (service) (rate(http_requests_total[5m])) > 0.05
        for: 10m
        labels:
          severity: critical
        annotations:
          summary: "{{ $labels.service }} 错误率超过 5%"
          description: "当前值 {{ $value | humanizePercentage }}"
expr 引用记录规则时注意评估顺序:跨 group 的依赖要在文档中约定,避免读到未更新的值。

易错点

  • expr 命中的每条序列都会独立告警,标签维度设计不当会造成告警风暴
  • for 时长要覆盖指标的正常抖动周期:太短频繁触发、太长延误发现

数据来源与参考

  • Prometheus 文档 · Alerting rules
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌