快速开始

在几分钟内完成设置和遥测收集!

OpenTelemetry Collector 接收 跟踪指标日志,通过其组件处理遥测数据,并将其导出到各种可观测性后端。有关 Collector 的概念性概述,请参阅Collector

您将在五分钟内学会完成以下操作

  • 设置和运行 OpenTelemetry Collector。
  • 发送遥测数据并查看 Collector 的处理情况。

先决条件

确保您的开发环境具备以下条件。本页假设您使用的是 bash。请根据您的首选 shell 调整配置和命令。

  • Docker 或任何兼容的容器运行时。
  • Go 1.20 或更高版本
  • 已设置 GOBIN 环境变量;如果未设置,请进行适当初始化,例如1
    export GOBIN=${GOBIN:-$(go env GOPATH)/bin}
    

设置环境

  1. 拉取 OpenTelemetry Collector 核心 Docker 镜像

    docker pull otel/opentelemetry-collector:0.142.0
    
  2. 安装 telemetrygen 工具

    go install github.com/open-telemetry/opentelemetry-collector-contrib/cmd/telemetrygen@latest
    

    此工具可以模拟一个生成 跟踪指标日志的客户端。

生成和收集遥测数据

  1. 启动 Collector,监听端口 4317(用于 OTLP gRPC)、4318(用于 OTLP HTTP)和 55679(用于 ZPages)

    docker run \
      -p 127.0.0.1:4317:4317 \
      -p 127.0.0.1:4318:4318 \
      -p 127.0.0.1:55679:55679 \
      otel/opentelemetry-collector:0.142.0 \
      2>&1 | tee collector-output.txt # Optionally tee output for easier search later
    
  2. 在另一个终端窗口中,生成一些示例跟踪

    $GOBIN/telemetrygen traces --otlp-insecure --traces 3
    

    在工具生成的输出中,您应该会看到确认跟踪已生成的提示

    2024-01-16T14:33:15.692-0500  INFO  traces/worker.go:99  traces generated  {"worker": 0, "traces": 3}
    2024-01-16T14:33:15.692-0500  INFO  traces/traces.go:58  stop the batch span processor
    

    为了更容易看到相关的输出,您可以对其进行过滤

    $GOBIN/telemetrygen traces --otlp-insecure \
      --traces 3 2>&1 | grep -E 'start|traces|stop'
    
  3. 在运行 Collector 容器的终端窗口中,您应该会看到类似下面示例的跟踪接收活动

    $ grep -E '^Span|(ID|Name|Kind|time|Status \w+)\s+:' ./collector-output.txt
    Span #0
        Trace ID       : f30faffbde5fcf71432f89da1bf7bc14
        Parent ID      : 6f1ff7f9cf4ec1c7
        ID             : 8d1e820c1ac57337
        Name           : okey-dokey
        Kind           : Server
        Start time     : 2024-01-16 14:13:54.585877 +0000 UTC
        End time       : 2024-01-16 14:13:54.586 +0000 UTC
        Status code    : Unset
        Status message :
    Span #1
        Trace ID       : f30faffbde5fcf71432f89da1bf7bc14
        Parent ID      :
        ID             : 6f1ff7f9cf4ec1c7
        Name           : lets-go
        Kind           : Client
        Start time     : 2024-01-16 14:13:54.585877 +0000 UTC
        End time       : 2024-01-16 14:13:54.586 +0000 UTC
        Status code    : Unset
        Status message :
    ...
    
  4. 打开 https://:55679/debug/tracez 并选择表中其中一个样本,以查看您刚刚生成的跟踪。

  5. 完成后,关闭 Collector 容器,例如使用 Control-C

下一步

在本教程中,您已启动 OpenTelemetry Collector 并向其发送了遥测数据。下一步,您可以考虑执行以下操作


  1. 有关更多信息,请参阅 您的第一个程序。 ↩︎