You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过Helm部署的OpenTelemetry Collector如何分离数据至不同后端?

如何在OpenTelemetry Collector中按数据类型分流至不同后端

核心思路:利用Collector流水线机制自动分离数据类型

完全不需要手动写复杂过滤规则——OTel Collector的pipeline机制本身会自动按数据类型(日志/指标/链路追踪)划分独立处理链路,你只需要在配置中分别定义对应类型的流水线,绑定到各自的输出组件即可。

具体配置步骤(基于Helm Chart的values.yaml)

1. 定义输出组件(exporters)

在values.yaml中配置Loki、Tempo、Prometheus对应的输出器:

exporters:
  loki:
    endpoint: "http://loki-gateway.loki.svc.cluster.local/loki/api/v1/push"
    # 可选:添加自定义标签
    labels:
      job: "otel-collector"

  tempo:
    endpoint: "http://tempo.tempo.svc.cluster.local:4317"
    tls:
      insecure: true

  prometheusremotewrite:
    endpoint: "http://prometheus-prometheus.monitoring.svc.cluster.local/api/v1/write"

2. 配置专属流水线(pipelines)

分别为日志、指标、链路追踪创建独立流水线,将对应的输出器绑定进去:

pipelines:
  logs:
    receivers: [otlp]
    processors: [batch]
    exporters: [loki]

  metrics:
    receivers: [otlp]
    processors: [batch]
    exporters: [prometheusremotewrite]

  traces:
    receivers: [otlp]
    processors: [batch]
    exporters: [tempo]
  • receivers: [otlp]:指定接收Java Agent发送的OTLP数据(OTLP接收器会自动识别数据类型并分流到对应流水线)
  • processors: [batch]:推荐添加批处理组件,减少网络请求次数,提升传输效率
  • exporters: [xxx]:绑定到对应后端的输出器

3. 内部分流逻辑说明

OTel Collector会自动完成数据类型识别与路由:

  • Java Agent发送的OTLP日志会被路由到logs流水线,最终转发至Loki
  • 指标数据进入metrics流水线,转发至Prometheus
  • 链路追踪数据进入traces流水线,转发至Tempo

额外优化建议

如果需要对特定数据做过滤或加工,可以在对应流水线的processors中添加filter组件,比如只保留某类服务的日志:

processors:
  filter/logs:
    logs:
      include:
        match_type: regexp
        attributes:
          - key: service.name
            value: "^my-java-service.*$"

# 在logs流水线中引用该处理器
pipelines:
  logs:
    receivers: [otlp]
    processors: [batch, filter/logs]
    exporters: [loki]

内容的提问来源于stack exchange,提问作者barmanthewise

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 11:12:41