首页/云/可观测性速查/Kubernetes 告警:PrometheusRule 实践
告警与响应50 条

Kubernetes 告警:PrometheusRule 实践

kube-prometheus-stack 用 PrometheusRule 管理规则、AlertmanagerConfig 管理路由与接收器;改动走 kubectl/Helm,不手改容器内文件。

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

PrometheusRule 示例

PrometheusRule 示例
apiVersion: monitoring.coreos.com/v1
kind: PrometheusRule
metadata:
  name: app-alerts
  labels:
    release: kube-prometheus-stack   # 需匹配 Prometheus 的 ruleSelector
spec:
  groups:
    - name: app.rules
      rules:
        - alert: AppHighErrorRate
          expr: sum by (service) (rate(http_requests_total{code=~"5.."}[5m])) > 5
          for: 10m
          labels:
            severity: warning
          annotations:
            summary: "{{ $labels.service }} 错误率偏高"
标签要与 Prometheus 自定义资源里的 ruleSelector 对应(常见为安装时的 release 标签),否则规则不会被加载。

易错点

  • 规则缺少选择器标签,写了也不会被评估
  • 直接改 StatefulSet 内文件,下一次 Operator 同步即被覆盖

数据来源与参考

  • Prometheus Operator 文档 · PrometheusRule
  • kube-prometheus-stack 文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌