Opentelemetry Java 自动检测数据到 Jaeger

Opentelemetry Java auto-instrumentation data to Jaeger

我是 Opentelemetry 的新手,想将 Spring-petclinic 检测数据发送到 运行ning 在我的远程云系统上

的 Jaeger

这是bat文件: java -javaagent:opentelemetry-javaagent-all.jar -Dotel.exporter=jaeger -Dotel.exporter.jaeger.endpoint=50.18.XXX.XX:14250 -Dotel.otlp.span.timeout=4000 -Dotel.jaeger.service.name=otel-ui -jar target/spring-petclinic-2.4.0.BUILD-SNAPSHOT.jar

当我 运行 bat 文件时,我准备在浏览器 (http://localhost:8080) 中打开 petclinic 应用程序,我在控制台中收到以下错误: [opentelemetry.auto.trace 2021-01-06 17:22:21:008 +0530] [grpc-default-executor-1] WARN io.opentelemetry.exporter.otlp.OtlpGrpcSpanExporter - Failed to export spans. Error message: UNAVAILABLE: io exception

如何解决这个问题?是否有任何其他依赖项要添加到宠物诊所 pom.xml 或代码中?

你能粘贴收集器配置文件吗?您似乎正在使用 gRPC 协议,并且收集器所在的系统不支持该协议 运行。 https://github.com/open-telemetry/opentelemetry-collector/blob/master/exporter/otlpexporter/README.md

您的 jaeger 实例中未启用 gRPC 端口。

您可以像这样尝试 docker-compose 文件

version: "3.6"
services:
  jaeger:
    image: jaegertracing/all-in-one
    ports:
      - 5775:5775/udp
      - 6831:6831/udp
      - 6832:6832/udp
      - 5778:5778
      - 16686:16686
      - 14268:14268
      - 14250:14250
      - 9411:9411

并且您可以毫无问题地连接到它