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

CnOps 智能运维与可观测社区

愿景

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

内容社区

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

友情链接

  • Prometheus
  • Grafana Lab
  • OpenTelemetry
  • LoongCollector

关注我们

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

Copyright © 2026 CnOps 社区. All rights reserved.

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

OpenTelemetry

代理

代理 Collect 部署模式既包含采用 [OpenTelemetry 协议(OTLP)][otlp]并通过 OpenTelemetry SDK [插桩][instrumentation]的各类应用, 也包含使用 OTLP 导出器将遥测信号发送到与应用一起运行的 [Collector][collector] 实例或与应用(例如边车或 DaemonSet)所在主机上的的其他 Collector。...

代理 Collect 部署模式既包含采用 OpenTelemetry 协议(OTLP)并通过
OpenTelemetry SDK 插桩的各类应用,
也包含使用 OTLP 导出器将遥测信号发送到与应用一起运行的 Collector
实例或与应用(例如边车或 DaemonSet)所在主机上的的其他 Collector。

每个客户端 SDK 或下游 Collector 都会配置一个 Collector 位置:

去中心化 Collector 部署概念

  1. 在应用中,SDK 被配置为将 OTLP 数据发送到 Collector。
  2. Collector 被配置为将遥测数据发送到一个或多个后端。

示例 {#example}

代理 Collector 部署模式的一个具体示例可能如下所示:你使用 OpenTelemetry Java SDK
手动为一个 Java 应用导出指标进行插桩。在应用的上下文中,你将
OTEL_METRICS_EXPORTER 设置为 otlp(这是默认值),并为 OTLP 导出器配置
Collector 的地址,例如(在 Bash 或 zsh shell 中):

export OTEL_EXPORTER_OTLP_ENDPOINT=http://collector.example.com:4318

在 collector.example.com:4318 提供服务的 Collector 将被配置为:

receivers:
  otlp: # 应用发送链路数据的 OTLP 接收器
    protocols:
      http:
        endpoint: 0.0.0.0:4318

processors:
  batch:

exporters:
  otlp/jaeger: # Jaeger 直接支持 OTLP
    endpoint: https://jaeger.example.com:4317

service:
  pipelines:
    traces/dev:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlp/jaeger]
receivers:
  otlp: # 应用发送指标的 OTLP 接收器
    protocols:
      http:
        endpoint: 0.0.0.0:4318

processors:
  batch:

exporters:
  prometheusremotewrite: # PRW 导出器,用于将指标导入到后端
    endpoint: https://prw.example.com/v1/api/remote_write

service:
  pipelines:
    metrics/prod:
      receivers: [otlp]
      processors: [batch]
      exporters: [prometheusremotewrite]
receivers:
  otlp: # 应用发送日志的 OTLP 接收器
    protocols:
      http:
        endpoint: 0.0.0.0:4318

processors:
  batch:

exporters:
  file: # 文件导出器,用于将日志写入本地文件
    path: ./app42_example.log
    rotation:

service:
  pipelines:
    logs/dev:
      receivers: [otlp]
      processors: [batch]
      exporters: [file]

如果你想自己试一试,你可以查看端到端的 Java 或 Python 示例。

权衡 {#tradeoffs}

优点:

  • 简单易上手
  • 应用与 Collector 之间是一对一映射,清晰明了

缺点:

  • 可扩展性有限(无论是人工还是负载方面)
  • 灵活性不足

文章大纲