CnOps 智能运维与可观测社区
首页开源项目实践文章视频课程常见问答开发者工具STAROps 专题
导航菜单
首页开源项目实践文章视频课程常见问答开发者工具STAROps 专题

CnOps 智能运维与可观测社区

愿景

CnOps 智能运维与可观测社区是一个以"智能运维与可观测"为核心的开放、包容、分享的技术社区,旨在聚集运维专家、开发者和爱好者,共同探讨、学习和分享可观测最佳实践与最新技术,与众多技术社区合作互动,共同探讨交叉领域的技术挑战,推动可观测领域的创新与进步。

内容社区

  • 实践文章
  • 视频课程
  • 开源项目
  • 常见问答
  • 开发者工具

友情链接

  • Prometheus
  • Grafana Lab
  • OpenTelemetry
  • LoongCollector

关注我们

阿里云云原生公众号阿里云云原生
阿里云可观测公众号阿里云可观测

Copyright © 2026 CnOps 社区. All rights reserved.

首页/开源项目/OpenTelemetry/快速入门
文档目录
文档开始手动插桩使用插桩库导出器资源采样什么是 OpenTelemetry?
API 参考文档示例
快速入门安装 Collector
管理发行版故障排查Collector 扩容转换遥测数据架构定制 Collector
基准测试自适应性
支持库列表

OpenTelemetry

快速入门

<!-- markdownlint-disable ol-prefix blanks-around-fences --> OpenTelemetry Collector 是一个可执行文件,它能够接收链路、 指标和日志, 处理这些遥测数据,并通过其组件将其导出到多种可观测性后端。要了解 Collector 的概念性概览, 请参见 Collector。 你将学习如何在不到五分钟的时间内完成以下操作:...

OpenTelemetry Collector 是一个可执行文件,它能够接收链路、
指标和日志,
处理这些遥测数据,并通过其组件将其导出到多种可观测性后端。要了解 Collector 的概念性概览,
请参见 Collector。

你将学习如何在不到五分钟的时间内完成以下操作:

  • 设置并运行 OpenTelemetry Collector。
  • 发送遥测数据并查看 Collector 对其进行处理。

前提条件 {#prerequisites}

请确保你的开发环境具备以下条件。本文档假设你使用的是 bash,请根据你所偏好的 Shell 适配相关配置与命令。

  • Docker 或任何兼容的容器运行时。

  • Go 1.20 或更高版本

  • GOBIN 环境变量已设置;若未设置,请按如下方式进行初始化[^1]:

    export GOBIN=${GOBIN:-$(go env GOPATH)/bin}
    

设置环境 {#set-up-the-environment}

  1. 拉取 OpenTelemetry Collector Contrib 的 Docker 镜像:

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

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

    此工具可以模拟生成链路、指标和日志的客户端行为。

生成并收集遥测数据 {#generate-and-collect-telemetry}

  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-contrib:
      2>&1 | tee collector-output.txt # 可选择将输出保存,以便后续搜索
    
  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. 打开 http://localhost:55679/debug/tracez,
    在表格中选择一个示例,以查看你刚刚生成的链路。

  5. 完成后,关闭 Collector 容器,例如按下 Control-C。

后续步骤 {#next-steps}

在本教程中,你已经启动了 OpenTelemetry Collector 并向其发送了遥测数据。下一步建议你执行以下操作:

  • 探索其他安装 Collector 的方式。
  • 了解 Collector 的不同运行模式,参见部署方式。
  • 熟悉 Collector 的配置文件和结构。
  • 浏览组件注册表,了解可用组件。
  • 学习如何使用 OpenTelemetry Collector Builder (OCB)
    构建自定义 Collector。

文章大纲