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
相关产品推荐
相关产品推荐

