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

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

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

学习

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

更多

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

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
DevOps 可观测性平台/课时/OpenTelemetry
RawBlame
课时目录12 节

DevOps 可观测性平台

  1. 01可观测性平台概览
  2. 02OpenTelemetry
  3. 03Jaeger 链路追踪
  4. 04Datadog
  5. 05New Relic 与 Dynatrace
  6. 06日志管理
  7. 07Elastic Stack
  8. 08Loki 与 Grafana
  9. 09Graylog 与 Splunk
  10. 10Zabbix 监控
  11. 11制品与 Artifact
  12. 12综合练习

OpenTelemetry

opentelemetry、标准化采集。

35 分钟

OpenTelemetry 统一采集

Metrics、Logs、Traces 若各用一套 SDK 与 Agent,升级与关联成本极高。OpenTelemetry(OTel) 提供 vendor-neutral 的 API、SDK 与 Collector,一次插桩可导出到 Jaeger、Prometheus、Datadog 等后端。本课讲 Collector 架构与 Spring Boot 接入;三支柱理论见 obs-telemetry,指标落地见 prometheus-essentials,DevOps 节点见 /roadmaps/devops。

学习目标

  • 理解 SDK(应用内) 与 Collector(网关聚合) 的分工
  • 配置 OTLP 导出:traces → Jaeger,metrics → Prometheus
  • 知道 W3C traceparent 与日志 traceId 对齐方式

架构概览

Spring Boot (OTel Java Agent / SDK)
        │ OTLP gRPC :4317
        ▼
   OTel Collector
        ├─ exporters → jaeger
        ├─ exporters → prometheusremotewrite
        └─ processors → batch, memory_limiter

Collector 典型 Receivers → Processors → Exporters 流水线:接收 OTLP,批处理降采样,再 fan-out 到多个后端。

# otel-collector-config.yaml(概念示例)
receivers:
  otlp:
    protocols:
      grpc:
        endpoint: 0.0.0.0:4317

processors:
  batch:
    timeout: 5s
  memory_limiter:
    limit_mib: 512

exporters:
  otlp/jaeger:
    endpoint: jaeger:4317
    tls:
      insecure: true
  prometheusremotewrite:
    endpoint: http://prometheus:9090/api/v1/write

service:
  pipelines:
    traces:
      receivers: [otlp]
      processors: [memory_limiter, batch]
      exporters: [otlp/jaeger]
    metrics:
      receivers: [otlp]
      processors: [batch]
      exporters: [prometheusremotewrite]

Spring Boot 接入要点

  • 自动插桩:-javaagent:opentelemetry-javaagent.jar,环境变量 OTEL_SERVICE_NAME=coderoadmap-backend
  • 与 Micrometer 共存:指标仍可走 /actuator/prometheus(见 prom-spring),trace 走 OTLP
  • 日志关联:Logback MDC 注入 trace_id、span_id,与 obs-logs 一致

K8s 部署 Collector 为 DaemonSet 或 Sidecar,见后续 dob-practice。

练习

  • 画 SDK → Collector → Jaeger + Prometheus 数据流
  • 说明为何生产要用 batch processor 而非直连 exporter
  • 在本地 backend 启用 OTel Agent,验证 Jaeger UI 出现 HTTP span

小结

OTel 是「一次插桩、多处消费」的枢纽。 下一课聚焦 Jaeger 作为 Trace 后端的部署与查询。

加载本节练习…
← 上一课可观测性平台概览下一课 →Jaeger 链路追踪