You need to enable JavaScript to run this app.
导航

通过 OpenTelemetry Collector 转发数据

最近更新时间2023.11.13 16:31:38

首次发布时间2023.05.30 17:38:56

日志服务支持通过 OpenTelemetry Collector 转发 Trace 数据到日志服务,进行长期的数据存储、应用链路数据监控。本文档介绍通过 OpenTelemetry Collector 转发数据的操作步骤。

背景信息

OpenTelemetry Collector 用于在跨开发语言和系统的场景下提供 Trace 数据的标准化收集、处理和导出方案,具备高度可扩展和灵活的数据处理能力。您可以通过 OpenTelemetry Collector 将系统中多个不同组件的 Trace 数据统一收集到日志服务中,进行全链路的 Trace 数据在线管理与监控。对于业务系统中已接入 OpenTelemetry Collector 的场景,您只需替换 Collector 为日志服务提供的 OpenTelemetry Collector,并参考本文档配置日志服务 Trace 插件,即可快速对接火山引擎日志服务 Trace 服务。

前提条件

已创建 Trace 实例。详细操作步骤请参考创建 Trace 实例

操作步骤

  1. 下载日志服务提供的 OpenTelemetry Collector。 日志服务提供 Trace 服务专用的 OpenTelemetry Collector,兼容日志服务 Trace 插件。

  2. 在 OpenTelemetry Collector 中配置日志服务 Trace 插件。 启动 OpenTelemetry Collector 之前,您需要在 OpenTelemetry Collector 配置文件中添加日志服务 Trace 数据采集插件 volcenginetlsexporter 的相关配置。相关操作步骤如下:

    1. 创建 config.yaml 文件。
    2. config.yaml 文件中添加以下内容。
      1. receivers 字段用于填写 Trace 数据的接收端相关配置,详细说明请参考 Receivers
      2. exporters 字段用于填写日志服务 Trace 插件相关配置。其中,volcenginetlsexporter 部分为日志服务接入点与鉴权信息相关配置。
      3. service 用于指定 receiversexporters 分别启用的组件。

    说明

    • 如果您在配置文件中添加了部分组件配置,但未在 service 部分中指定启用该配置,则 OpenTelemetry Collector 不会启用这些组件。
    • OpenTelemetry Collector 支持的其他组件配置方式,请参考 Configuration
    receivers:
      otlp:
        protocols:
          grpc:
            endpoint: "0.0.0.0:4317"
          http:
            endpoint: "0.0.0.0:4318"
    
    exporters:
      volcenginetlsexporter/traces:
        # TLS Endpoint, https://www.volcengine.com/docs/6470/73641
        endpoint: "https://tls-cn-beijing.ivolces.com"
        # TLS topic id
        topic_id: "39f0bce1-e37e-4dc5-ab06-801d310b****"
        # Volcengine access key
        access_key: "AKKTNTA1OTlsJSAQ1NT5SNBXk5OIWANsSmMTg0ZWU****"
        # Volcengine secret key
        secret_key: "T0RPLS5EUTFZVsLrTmpAKOSKaGCVRGsxTjJVMkjlIATBNV1ULAJXJMLNj****"
        # Volcengine region
        region: "cn-beijing"
    
    service:
      pipelines:
        traces:
          receivers: [ otlp ]           #接收端配置为otlp。
          exporters: [ volcenginetlsexporter/traces ]   #固定为volcenginetlsexporter/traces。
    

    添加配置时,请将示例配置中的 exporters 部分中 endpoint 等参数替换为实际业务场景的真实配置信息。详细的参数说明如下:

    参数

    示例

    说明

    endpoint

    https://tls-cn-beijing.volces.com

    日志服务连接域名,即服务地址。登录日志服务控制台后,在日志项目的详情页中查看连接域名。日志服务支持的地域及对应服务地址请参考服务地址

    topic_id

    39f0bce1-e37e-4dc5-ab06-801d310b****

    Trace 实例对应的 Trace 数据日志主题 ID。详细说明请参考创建 Trace 实例

    access_key

    AKKTNTA1OTlmOWQ1NTM5DNk5OIWwZGNmMTg0ZWUxNmU****

    火山引擎主账号或子账号的 Access Key ID。 在火山引擎控制台密钥管理页面,根据页面提示查看并复制 Access Key ID。

    secret_key

    T0RPLS5EUTFZV1JrTmpAKE5EaGCVRGsxTjJVMk5UTTBNV1UzKODJME1U****

    火山引擎主账号或子账号的 Secret Access Key。 在火山引擎控制台密钥管理页面,根据页面提示查看并复制 Secret Access Key。

    region

    cn-beijing

    Trace 实例所在的地域 ID(Region)。您可以在服务地址中查看指定地域的 ID。

  3. 启动 OpenTelemetry Collector。

    ./otelcontribcol_linux_amd64 --config="./config.yaml"
    

验证接入结果

成功接入 Trace 数据后,您可以通过日志服务的检索分析功能,在线查看采集到的 Trace 数据。如果 Trace 实例对应的日志主题中可检索到您上传的 Trace 数据,表示接入成功。检索 Trace 数据的方式,请参考检索日志数据
例如,您可以通过以下 SQL 语法检索指定 TraceID 对应的 Trace 数据详情。

* | select * where TraceID = '877247fa95024d2f3a1234216010****'