可观测性的标准答案已收敛为 OTel 采集 + Prometheus 存储 + Grafana 展示。本文给出三根支柱的分工、Collector 最小配置、四个最容易做错的地方,以及四周落地节奏。
“系统又慢了”——如果这句话之后需要半小时才能定位到原因,说明你的可观测性还停留在”有日志”的阶段。2026 年,可观测性的标准答案已经收敛为一条清晰的链路:OpenTelemetry 采集 → Prometheus 存储指标 → Grafana 展示与告警,配合链路追踪定位跨服务问题。
本文给出一条可照抄的落地路径,以及四个最容易做错的地方。
一、先分清三根支柱
很多团队把”监控”和”可观测性”混为一谈,结果堆了一堆图表却依然查不出问题。区别在于问的问题不同:

指标用于发现,链路用于定位,日志用于归因。 三者缺一个,排查链路就会断。
二、标准链路怎么搭
1. 采集:OpenTelemetry 统一 SDK
OpenTelemetry(简称 OTel)已成为事实标准:一套 SDK + 协议(OTLP)同时输出指标、日志、链路,避免被单一厂商绑定。
# OpenTelemetry Collector 最小配置示意
receivers:
otlp:
protocols:
grpc:
endpoint: 0.0.0.0:4317
processors:
batch: {}
memory_limiter:
check_interval: 1s
limit_percentage: 80
exporters:
prometheus:
endpoint: 0.0.0.0:8889
service:
pipelines:
metrics:
receivers: [otlp]
processors: [memory_limiter, batch]
exporters: [prometheus]
用 Collector 做中间层的价值:应用只对接 OTLP,后端存储可随时替换,不用改一行业务代码。
2. 存储与查询:Prometheus
Prometheus 用拉取模型 + 时序数据库 + PromQL,适合存指标。注意它的定位:它是指标系统,不是日志系统,别往 label 里塞高基数维度(如用户 ID、订单号),否则会把存储打爆。
3. 展示与告警:Grafana
负责仪表盘、告警规则与通知路由。告警设计的核心原则是只告警可行动的异常——凡是收到告警却不需要做任何事的规则,都该删掉。
三、四个最容易做错的地方
① 高基数标签把存储打爆
把 user_id、trace_id、URL 里的动态参数作为 label,会让时间序列数量指数级膨胀。label 只放低基数维度(服务名、方法、状态码、机房),高基数信息放链路或日志里。
② 只看平均延迟
平均延迟会掩盖长尾问题。P50 正常、P99 爆炸是最常见的故障形态。一律用分位数(P95/P99)定义 SLO,告警也基于分位数。
③ 链路采样率拍脑袋
全量采样成本高、头部采样会漏掉错误请求。实践建议:低比例头部采样 + 错误与慢请求全采(尾部采样),既控成本又保留关键现场。
④ 日志没有结构化
纯文本日志无法聚合分析。统一输出 JSON 结构,并在日志里带上 trace_id,实现从指标告警 → 链路 → 日志的一键跳转,这才是排查提速的关键。
四、落地节奏建议
- 第一周:指标先行。 接入 OTel SDK,先覆盖 RED 三指标(Rate 请求量、Errors 错误率、Duration 耗时),让核心服务有图可看;
- 第二周:补链路。 打通跨服务调用链,确认 trace 能贯穿网关 → 业务 → 数据库;
- 第三周:日志关联。 日志注入 trace_id,实现三支柱联动;
- 第四周:定 SLO 与告警。 基于真实数据设定阈值,清理无效告警;
- 持续:做一次故障演练。 故意注入延迟或错误,检验整条链路能否在 5 分钟内定位。
衡量可观测性建设是否成功的唯一标准是 MTTR(平均修复时间)。图表再多,如果不能缩短定位时间,就只是装饰品。
五、与云原生环境的配合
在 Kubernetes 环境(当前主线版本已到 1.37)中,建议把 OTel Collector 以 DaemonSet + Gateway 两层部署:节点级 Agent 负责采集,中心 Gateway 负责统一处理与导出。这样既降低应用侧负担,又便于集中治理采样与脱敏策略。
六、小结
可观测性不是买一套平台,而是建立”发现—定位—归因”的闭环能力。技术选型上,OpenTelemetry + Prometheus + Grafana 已是稳妥的默认组合;工程上,控制基数、关注分位、关联三支柱,才是真正决定成败的细节。
参考:OpenTelemetry 官方文档、Prometheus 官方文档、Grafana 官方文档。Kubernetes 版本信息参考 endoflife.date,采集于 2026 年 9 月 1 日。
#可观测性#OpenTelemetry#Prometheus#DevOps

