CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
Prometheus 与 Grafana 入门/课时/告警规则
RawBlame
课时目录12 节

Prometheus 与 Grafana 入门

  1. 01可观测性入门
  2. 02指标类型
  3. 03Docker 部署
  4. 04抓取配置
  5. 05PromQL 基础
  6. 06Spring Micrometer
  7. 07Grafana 看板
  8. 08告警规则
  9. 09K8s 中的 Prometheus
  10. 10指标 vs 日志
  11. 11与 Spring Cloud 可观测
  12. 12综合练习

告警规则

alerting rules、Alertmanager 概念。

30 分钟

告警规则

看板适合人盯屏;告警 在指标越界时主动通知。Prometheus 评估 rules 文件,触发后交给 Alertmanager 去重、分组、路由到 Slack / 邮件等。

学习目标

  • 编写 groups / rules 告警表达式
  • 理解 for 持续时间避免抖动
  • 知道 Alertmanager 在 ops lab 中的位置(概念)

核心内容

rules 文件示例

alert_rules.yml:

groups:
  - name: coderoadmap-backend
    rules:
      - alert: BackendDown
        expr: up{job="coderoadmap-backend"} == 0
        for: 2m
        labels:
          severity: critical
        annotations:
          summary: "backend 抓取失败"
          description: "job {{ $labels.job }} instance {{ $labels.instance }} 已 DOWN 超过 2 分钟"

      - alert: HighErrorRate
        expr: |
          sum(rate(http_server_requests_seconds_count{status=~"5.."}[5m]))
          /
          sum(rate(http_server_requests_seconds_count[5m]))
          > 0.05
        for: 5m
        labels:
          severity: warning
        annotations:
          summary: "HTTP 5xx 比例 > 5%"

挂载到 Prometheus

rule_files:
  - /etc/prometheus/alert_rules.yml
alerting:
  alertmanager_configs:
    - static_configs:
        - targets: ["alertmanager:9093"]

Prometheus UI → Alerts 页查看 Pending / Firing 状态。

设计原则

  • 告警要少而准:每个告警应有明确处置动作
  • for 防抖:瞬时尖刺不半夜叫人
  • labels 统一:severity、team 便于 Alertmanager 路由
  • runbook 链接:写在 annotations 里指向内部文档

K8s 生产常把 rules 放进 Helm Chart,与 helm-gitops-essentials GitOps 一并版本化。

练习

  • 停 backend 2 分钟,确认 BackendDown 变为 Firing
  • 故意调低 HighErrorRate 阈值触发一次测试告警
  • 列出你会加但本课未写的第 4 条告警(如磁盘、DB 连接池)

小结

PromQL 表达式 + for 持续时间 = 告警规则;Alertmanager 负责通知路由。 下一课看 K8s 里 Prometheus Operator 与 ServiceMonitor。

加载本节练习…
← 上一课Grafana 看板下一课 →K8s 中的 Prometheus