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

OpenTelemetry Collector无法向JaegerUI导出追踪数据问题求助

OpenTelemetry Collector无法向JaegerUI导出追踪数据问题求助

大家好,我最近在配置OpenTelemetry和Jaeger的链路追踪时遇到了个棘手的问题,想请教下社区的各位大佬。

我的项目代码托管在Github仓库中,目前在本地4317端口运行了一个exporter,同时用docker-compose部署了整套OTEL相关环境,包括我的业务应用、PostgreSQL数据库、Jaeger以及Otel Collector。

docker-compose配置文件

version: '3.8'
services:
  demo:
    container_name: demo
    build:
      dockerfile: Dockerfile
    environment:
      - OTEL_SERVICE_NAME=demo
      - OTEL_METRICS_EXPORTER=none
      - OTEL_TRACES_EXPORTER=jaeger
      - OTEL_EXPORTER_JAEGER_ENDPOINT=http://jaeger:16686
      - OTEL_EXPORTER_OTLP_ENDPOINT=http://otel-collector:4317
      - SPRING_DATASOURCE_URL=jdbc:postgresql://postgres:5432/postgres
      - SPRING_DATASOURCE_USERNAME=postgres
      - SPRING_DATASOURCE_PASSWORD=postgres
      - SPRING_JPA_HIBERNATE_DDL_AUTO=update
      - SPRING_JPA_SHOW_SQL=true
      - SPRING_JPA_HIGHLIGHT_SQL=true
      - SPRING_JPA_PROPERTIES_HIBERNATE_DIALECT=org.hibernate.dialect.PostgreSQLDialect
      - SPRING_JPA_PROPERTIES_HIBERNATE_SHOW_SQL=true
      - SPRING_JPA_PROPERTIES_HIBERNATE_HIGHLIGHT_SQL=true
      - SPRING_DATASOURCE_HIKARI_CONNECTION_TIMEOUT=20000
      - SPRING_DATASOURCE_HIKARI_MAXIMUM_POOL_SIZE=5
      - SPRING_DATASOURCE_DRIVER_CLASS_NAME=org.postgresql.Driver
    ports:
      - "8080:8080"
    depends_on:
      - postgres
      - otel-collector

  postgres:
    container_name: postgres
    image: postgres:latest
    environment:
      - POSTGRES_DB=postgres
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=postgres
    ports:
      - "5432:5432"

  jaeger:
    container_name: jaeger
    image: jaegertracing/all-in-one:latest
    ports:
      - "16686:16686"
      - "14250:14250"

  otel-collector:
    container_name: otel-collector
    image: otel/opentelemetry-collector:latest
    ports:
      - "4317:4317"
    command: ["--config=/etc/otel-collector-config.yaml"]
    volumes:
      - /Users/subhasreechandrasekar/demo/otel-collector-config.yaml:/etc/otel-collector-config.yaml
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:4318"]
      interval: 30s
      timeout: 10s
      retries: 5

Otel Collector配置文件

receivers:
  otlp:
    protocols:
      http:
      grpc:

exporters:
  debug: {}
  otlphttp:
    endpoint: "http://jaeger:16686"
  otlp:
    endpoint: "http://otel-collector:4317"

service:
  pipelines:
    traces:
      receivers: [otlp]
      exporters: [debug, otlphttp, otlp]
    metrics:
      receivers: [otlp]
      exporters: [debug, otlp]

现在所有容器都显示正常运行,但追踪数据始终无法导出到Jaeger UI中。我在日志里发现了下面的警告错误:

warn    grpc@v1.70.0/clientconn.go:1381 [core] [Channel #1 SubChannel #2]grpc: addrConn.createTransport failed to connect to {Addr: "otel-collector:4317", ServerName: "otel-collector:4317", }. Err: connection error: desc = "transport: Error while dialing: dial tcp 172.18.0.4:4317: connect: connection refused"    {"grpc_log": true}

有没有大佬能帮我排查下问题出在哪里?非常感谢!


备注:内容来源于stack exchange,提问作者user29631076

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.14 09:39:35