首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用开放遥测代理运行的Java 8应用程序导出新遗留数据时出现464错误

使用开放遥测代理运行的Java 8应用程序导出新遗留数据时出现464错误
EN

Stack Overflow用户
提问于 2022-06-07 14:42:06
回答 2查看 185关注 0票数 0

当我运行Java 11时,它运行得很好:

代码语言:javascript
复制
java -javaagent:./otel/opentelemetry-javaagent.jar \
-DOTEL_EXPORTER_OTLP_COMPRESSION=gzip \
-DOTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT=4095 \
-DOTEL_JAVA_DISABLED_RESOURCE_PROVIDERS=io.opentelemetry.sdk.extension.resources.ProcessResourceProvider \
-DOTEL_EXPERIMENTAL_EXPORTER_OTLP_RETRY_ENABLED=true \
-DOTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE=DELTA \
-Dotel.traces.exporter=otlp \
-Dotel.metrics.exporter=otlp \
-Dotel.logs.exporter=otlp \
-Dotel.exporter.otlp.endpoint=https://otlp.nr-data.net:4317 \
-Dotel.resource.attributes=service.name=app-service \
-Dotel.exporter.otlp.headers=api-key=<api-key> \
-Dotel.javaagent.debug=false -jar ./target/app-service-0.0.1-SNAPSHOT.jar

但是当我在Java 8中运行时,它失败了:

代码语言:javascript
复制
ENTRYPOINT ["java", \
  "-Dotel.traces.exporter=otlp", \
  "-Dotel.metrics.exporter=otlp", \
  "-Dotel.logs.exporter=otlp", \
  "-Dotel.exporter.otlp.endpoint=https://otlp.nr-data.net:4317", \
  "-DOTEL_EXPORTER_OTLP_COMPRESSION=gzip", \
  "-DOTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT=4095", \
  "-DOTEL_JAVA_DISABLED_RESOURCE_PROVIDERS=io.opentelemetry.sdk.extension.resources.ProcessResourceProvider", \
  "-DOTEL_EXPERIMENTAL_EXPORTER_OTLP_RETRY_ENABLED=true", \
  "-DOTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE=DELTA", \
  "-Dotel.exporter.otlp.headers=api-key=<api-key>", \
  "-Dotel.resource.attributes=service.name=app-service", \
  "-Dotel.javaagent.debug=false", \
  "-javaagent:opentelemetry-javaagent.jar", "-jar", "app-service.jar"]

获取以下错误:

代码语言:javascript
复制
[otel.javaagent] [OkHttp https://otlp.nr-data.net:4317/...] WARN io.opentelemetry.exporter.internal.grpc.OkHttpGrpcExporter - Failed to export logs. Server responded with HTTP status code 464.

Dockerfile:

代码语言:javascript
复制
FROM maven:3.8.1-jdk-8-slim AS build
WORKDIR /opt/app
COPY src src
COPY pom.xml .
RUN mvn -f pom.xml clean install

FROM openjdk:8-jdk-alpine
COPY --from=build /opt/app/target/app-service-*.jar app-service.jar
COPY ./otel/opentelemetry-javaagent.jar opentelemetry-javaagent.jar
EXPOSE 8080
ENTRYPOINT ["java", "-javaagent:opentelemetry-javaagent.jar", "-jar", "app-service.jar"]

我正在使用opentelemetry版本: 1.12.0。

知道哪个版本的新文物开放遥测代理为Java 8工作吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-06-22 09:09:07

Stack Overflow用户

发布于 2022-06-14 16:52:54

464表示协议混合- HTTP与GRPC之间存在问题。显式使用HTTP,因为grpc导出程序存在此问题:

代码语言:javascript
复制
otel.exporter.otlp.protocol=http/protobuf

也许你有什么东西(代理,防火墙,WAF,.)是什么导致来自容器的GRPC连接出现问题。

见doc:https://github.com/open-telemetry/opentelemetry-java/blob/main/sdk-extensions/autoconfigure/README.md

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72533204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档