Chapter 09

选一个能打开的望远镜

OTel 只管产出数据,怎么看靠后端。自建 Jaeger+Prom+Loki 成本低但运维重;Grafana LGTM stack 集成度高;Datadog/New Relic 开箱即用但 $ $ $。没有银弹——这一章帮你对齐选型的坐标。

三大类后端

单点开源
Jaeger(trace)、Prometheus(metric)、Loki/Elasticsearch(log)——各自独立,自己拼。
集成化开源 stack
Grafana LGTM(Loki+Grafana+Tempo+Mimir)、SigNoz、Uptrace——三合一 UI,一站到底。
SaaS 商业
Datadog、New Relic、Honeycomb、Dynatrace、Splunk、Grafana Cloud——贵但省心。

Jaeger:开源 trace 老牌

# 10秒起一个 all-in-one(仅开发/测试)
docker run -d --name jaeger \
  -p 16686:16686 -p 4317:4317 -p 4318:4318 \
  jaegertracing/all-in-one:latest

浏览器打开 localhost:16686——就这么简单。生产环境要用 Jaeger Collector + Query 拆分部署。

Tempo:Grafana 的 trace 后端

Prometheus:Metric 事实标准

Mimir:Grafana 的长保留 Prom

Mimir = 水平扩展的 Prometheus。多租户、对象存储、千万级 series。接 OTel 的方式是 Collector 用 prometheusremotewriteexporter

Loki:轻量日志

Grafana LGTM stack

L oki      — Logs
G rafana   — UI
T empo     — Traces
M imir     — Metrics

官方推的自建开源组合,加上 OTel Collector 做接入层——全开源 + 成本可控 + 三向跳转原生支持。GitOps 化部署在 K8s 里 Helm chart 很成熟。

Grafana Cloud Free
Grafana Cloud 免费额度:10k metrics / 50GB logs / 50GB traces / 14天保留——小团队/个人项目可以白嫖 LGTM 完整体验,不用自己运维。

Elasticsearch / OpenSearch

SigNoz / Uptrace:后起之秀

两个开源的"三合一"方案——ClickHouse 做存储,trace+metric+log 一个 UI,特点:

Datadog:商业之王

New Relic

Honeycomb

Dynatrace / Splunk Observability

企业级选型——Dynatrace 以 AI 自动根因分析著称,Splunk 以海量日志 + SIEM 见长。都原生支持 OTLP,价格不透明,适合已有商业合作的大厂。

对比矩阵

覆盖成本UI运维适合
Jaeger+Prom+Loki基础三合一$Grafana成熟 K8s 团队
Grafana LGTM完整$Grafana ⭐开源一站式
SigNoz / Uptrace完整$专属 UI不想自己拼
Datadog完整 + 更多$$$⭐⭐⭐大厂土豪
New Relic完整$$⭐⭐中大厂
Honeycombtrace 为主$$⭐⭐⭐高基数场景
Grafana CloudLGTM + 托管$ → $$Grafana ⭐中小团队

切换后端:成本几何?

OTel 的核心卖点:代码零改动,只改 Collector exporter 配置:

# 昨天:发 Datadog
exporters:
  datadog:
    api:
      key: ${env:DD_API_KEY}
service:
  pipelines:
    traces:
      exporters: [datadog]

# 今天:换 Honeycomb(应用一行代码没改)
exporters:
  otlp/honeycomb:
    endpoint: api.honeycomb.io:443
    headers:
      x-honeycomb-team: ${env:HC_KEY}
service:
  pipelines:
    traces:
      exporters: [otlp/honeycomb]

# 或者:同时发俩做对比
    traces:
      exporters: [datadog, otlp/honeycomb]

双发一段时间再下决定——这是 OTel 的最大 POC 优势。

成本控制技巧

采样
Tail sampling 保错/慢 + 1% 基线——trace 量降 99%,问题 trace 一个不漏
attribute 收敛
Collector 的 attributesprocessor 删除 request.id 等高基数字段
降采样 metric
用 View 把 histogram 分桶合并;groupbyattr processor 聚合小维度
日志级别
生产 INFO 及以上;DEBUG 只在开发;WARN/ERROR 永远保留
历史降频
近 30 天完整保留,30-90 天降频(1min → 5min),90+ 天只留关键指标

混合模式

大厂最佳实践
· 指标发 Prometheus / Mimir 自建(metric 量大、成本敏感)
· Trace发 Datadog / Honeycomb 商业(查询体验重要)
· 日志发 Loki 自建 + 关键业务日志同时发 Datadog
Collector 一份数据分三路——按用途和成本分层。

自建 vs SaaS 决策框架

维度偏自建偏 SaaS
数据规模> 10TB/月 日志< 1TB/月
SRE 人力>= 3 人专职< 1 人
合规数据不能出公司允许送云
迭代速度愿等 3-6 月搭稳明天就要看
成本曲线初投大,边际低初投小,线性涨

Grafana 三向跳转配置

Trace(Tempo)→ 点 span → Logs(Loki):按 trace_id 过滤
Logs(Loki)→ 点 trace_id → Trace(Tempo):打开这条 trace
Metric(Mimir)→ 点 Exemplar → Trace(Tempo):这一点的原始 trace

前提:
- 三路数据都有 service.name + trace_id + span_id
- Grafana 数据源里配好 derivedFields(Loki 认识 trace_id 格式)
- Exemplar 在 Prom 3.0+ 默认开启,SDK 侧启用 exemplar filter

本章小结