← 返回文章列表
使用指南 3 分钟阅读 炬鲸团队

用 OpenTelemetry 零侵入接入炬鲸 OBSERVE:日志、指标、链路一次配齐

不改一行业务代码,用 OpenTelemetry Collector 把日志、指标、链路三路信号统一接入炬鲸 OBSERVE,附完整配置与排错清单。

为什么走 OpenTelemetry

接入可观测平台最怕两件事:为埋点改业务代码,以及日志、指标、链路各用一套 SDK。OpenTelemetry(OTel)解决了这两个问题——它是 CNCF 孵化的统一标准,一个 SDK 产出三路信号,还能用 Collector 统一转发。

本文假设服务已通过 OTel SDK 或自动注入产出信号,只需配好 Collector。

第一步:部署 Collector

Collector 可跑在每台机器(agent)或集中部署(gateway)。中小团队建议先跑一个 gateway:

receivers:
  otlp:
    protocols:
      grpc:
        endpoint: 0.0.0.0:4317
processors:
  batch:
    timeout: 1s
service:
  pipelines:
    traces:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlp/observe]

batch processor 一定要加:批量打包再发送,能把上报请求数降一个数量级。

第二步:配置导出到 OBSERVE

在 exporters 里加指向炬鲸 OBSERVE 的 OTLP 导出器,带上接入 Token:

exporters:
  otlp/observe:
    endpoint: ob.example.com:4317
    headers:
      authorization: Bearer <你的接入Token>
    tls:
      insecure: false

把 logs、metrics、traces 三条 pipeline 都指到 otlp/observe,三路信号就全打通了。

第三步:验证与排错

启动后先看 Collector 自己的日志有没有 exporting failed,再到控制台用类 SQL 检索确认数据在进来:

SELECT * FROM logs WHERE service = 'order-service' ORDER BY ts DESC LIMIT 20

常见坑:Token 拼写或 Bearer 后少空格;4317 是 gRPC、4318 是 HTTP,别混用;容器与宿主机时区不一致会偏移时间戳。

保持长期可维护

接入后先统一两件事:service.name 命名规范、environment/team 标签。现在花五分钟,后面排查能省五小时。