You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
I'm using OpenTelemetry Operator to provide Collectors and Java Instrumentation injection for applications. In this scenario the Java otel agent will be inject into a pod, and I try to connect it to the Collector with TLS or mTLS through gRPC. I tried several configuration variations, but I'm getting this error in the Collector whatever I try (in debug logging):
info zapgrpc/zapgrpc.go:176 [transport] [server-transport 0xc000007a00] Closing: connection error: desc = "transport: http2Server.HandleStreams received bogus greeting from client: \"POST /v1/metrics HTTP/1.\"" {"grpc_log": true}
info zapgrpc/zapgrpc.go:176 [core] [Server #3] grpc: Server.Serve failed to create ServerTransport: connection error: desc = "transport: http2Server.HandleStreams received bogus greeting from client: \"POST /v1/metrics HTTP/1.\"" {"grpc_log": true}
When I switch the comunication with the same certificates to HTTP/protobuf, everything works fine.
Steps to reproduce
I'm using cert-manager to create my CA and all of the certificates with these settings:
As I told before, if I switch my configuration in the Instrumentation object to use HTTP instead of gRPC, everything works fine.
Now, I tried another scenario: I chained two Collectors with the same settings and certificates on gRPC. That connection works fine too. Here is how I did it:
Now, I tried another scenario: I chained two Collectors with the same settings and certificates on gRPC. That connection works fine too.
Based on this, I think the problem is with Java and not the collector. My guess is that the Java agent is correctly using the env vars to setup TLS connection over grpc. I am very suspicious of this part of the error message \"POST /v1/metrics HTTP/1.\"".
Describe the bug
I'm using OpenTelemetry Operator to provide Collectors and Java Instrumentation injection for applications. In this scenario the Java otel agent will be inject into a pod, and I try to connect it to the Collector with TLS or mTLS through gRPC. I tried several configuration variations, but I'm getting this error in the Collector whatever I try (in debug logging):
When I switch the comunication with the same certificates to HTTP/protobuf, everything works fine.
Steps to reproduce
I'm using cert-manager to create my CA and all of the certificates with these settings:
This is how my Instrumentation config looks like:
On the other side, here is how the Collector configuration looks like:
As I told before, if I switch my configuration in the Instrumentation object to use HTTP instead of gRPC, everything works fine.
Now, I tried another scenario: I chained two Collectors with the same settings and certificates on gRPC. That connection works fine too. Here is how I did it:
Collector config on the "edge" collector:
And here is it's pair on the "remote" collector:
This configuration also works between the two collectors, they can communicate with TLS on gRPC.
What did you expect to see?
Working TLS with gRPC.
What did you see instead?
What version did you use?
Collector: v.0.96.0 contrib
Java autoinstrumentation image: 1.32.1
Environment
Kubernetes v1.27
The text was updated successfully, but these errors were encountered: