跳到正文

Prometheus 学习路线 ​

⭐⭐⭐ 核心:指标模型 / 抓取与 relabel / PromQL / 告警路由 ⭐⭐ 常用:TSDB 保留与容量 / RED、USE 方法 / 排障路径 ⭐ 进阶:远程存储 / 长期留存 / 多集群聚合

适用版本:Prometheus 2.5x 与 3.x,Alertmanager 0.2x。默认值以官方文档为准。

阅读顺序 ​

L1 先建立「指标能回答什么」的框架
  → 01-指标与可观测性体系   ← 数据模型 / 四种指标类型 / RED、USE / 分位数
       ↓
L2 再理解「样本怎么进来、怎么存、怎么告警」
  → 02-Prometheus抓取存储与告警 ← scrape / relabel / WAL / TSDB / Alertmanager / PromQL 易错点
       ↓
L3 最后按清单检查生产配置
  → 99-生产检查清单         ← 上线前 / 运行中 / 故障时

每篇的产物 ​

篇读完能拿到
01能选对指标类型,写出 QPS、错误率、P99 查询,并按 RED、USE 设计一套面板
02能写可用的 scrape 与 relabel 配置,解释 TSDB 保留和 WAL 的作用,配出可用的告警路由
99能逐条核对抓取覆盖、基数预算、保留期、告警路由与故障处置

按问题找篇 ​

想知道看
Counter、Gauge、Histogram、Summary 怎么选01-指标与可观测性体系
QPS、错误率、P99 怎么写01-指标与可观测性体系
RED 和 USE 分别放什么指标01-指标与可观测性体系
面板没数据、抓取变慢怎么查01-指标与可观测性体系
relabel 怎么写、什么时候 drop02-Prometheus抓取存储与告警
WAL、block、retention 是什么关系02-Prometheus抓取存储与告警
告警路由、抑制、静默怎么配02-Prometheus抓取存储与告警
分位数算错、rate 用错02-Prometheus抓取存储与告警

前置 ​

  • 基本 HTTP 与 Linux 命令行
  • Docker(示例用 prom/prometheus 与 prom/alertmanager 镜像)
  • 本地有 promtool、amtool(随 Prometheus/Alertmanager 发布包提供)和 jq
  • 至少一个能暴露 /metrics 的服务;没有就先抓 Prometheus 自己

一句话定位 ​

Prometheus 用「定时拉取 + 多维标签 + 本地时序库」把指标采集标准化。它换来了统一的查询与告警接口,代价是只擅长聚合数值、不擅长单次请求追踪,长期存储和跨集群聚合要另外搭。

只想知道「服务现在好不好」时,先落地 01 的 RED 指标和 02 的四类告警;先不要上全套可观测平台。

把一门技术讲透到既懂也会用