Open nnaik25 opened 1 year ago
I have the same problem and don't know how to solve it
Problems on similar line, don't know how to solve it. https://stackoverflow.com/questions/76386139/opentelemetry-collector-not-exporting-data-to-otel-http-exporter
This error:
}. Err: connection error: desc = "error reading server preface: http2: frame too large" {"grpc_log": true}
says that you are sending a HTTP request to a gRPC endpoint. Make sure to enable the http protocol.
+1
+1
+1
This error is usually a symptom of trying to connect without TLS to a server that's expecting TLS. Are you dialing these connections using TLS or not?
I had a similar issue and just solved it. In the local OTEL collector you're passing the GRPC through port 443. Port 443 won't work with GRPC (I'm not sure why, I think it's related to the fact that it's a well known port) and it didn't work for me, and I got the http2 error that you got.
HOW DID I SOLVE THIS: So first of all don't send the GRPC data through port 443, instead choose a different one - I use Uptrace, so I used port 14317 (I can see you chose 4307)
On the Ingress side, don't receive the data through 443, but instead design a designate port (4307).
I did it by adding the next annotation to my Ingress:
alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS": 14318}, {"HTTPS": 14317}]'
(14318 is just another UI port I needed)
Which does use an SSL certificate, and forwards to port 14317 (You should use 4307).
You can see that I use EKS, and my load-balancer is in AWS too, so you'll need to make some adjustments. Once you send the data through 4307 from the OTEL collector, to port 4307 in the Ingress, it should work as expected.
This is happening because you're using the OTLP exporter, which is a gRPC exporter. However, you need an HTTP endpoint, so you'll likely need to update the OTLP exporter to otlphttp.
Hello,
Need help with the issue i am facing with below usecase
Usecase: Test if we are able to export traces using a local otel collector over ingress to another otel collector service setup on an kubernetes cluster
I want to test this usecase without using self signed certificates.
Also i cannot use CA signed certificates as a part of TLS configuration for the otel collector as this would require CA key and private key of the server ( NGINX in this case) to generate CA signed client certificates which i think is not possible for production environments
Question : 1) Is it a must to use CA signed certificates for TLS configuration of otel collector? If yes, then as i said above, this would require CA key and private key of the server ( NGINX in this case) to generate CA signed client certificates which i think is not possible for productions environments
2) Is there is a way where we can use just the public key of the server ( NGINX in this case) for tls configuration for trusting the server certificate? Similar to how it works in case of browsers
Details
1) Setup a otel-demo environment : https://opentelemetry.io/docs/demo/docker-deployment/
As part of this deployment, otel collector would have been setup as below
2) Setup ingress for the otel collector service
3) Setup an local otel collector as below
4) Start the local otel collector
Issue :
Otel collector on a local host is throwing below error when trying to export traces to another otel collector deployed on K8S over ingress
Debugging Steps Tried: 1) Tried setting below parameter in nginx configuration config map. But error still exists proxy_buffers: 4 16k