Closed dominthomas closed 2 years ago
It looks like this issue was fixed as part of this PR: #2748 But that doesn't seem to be the case 🤔 @srikanthccv - any ideas?
I don't think the operator supports the grpc for the reasons stated in the requirements.txt file. And there is no metrics HTTP library at the moment but that doesn't raise an issue.
Yes, you're right, I did see that comment - so not sure what's causing this.
Is it a case of dsiabling opentelemetry_metrics_exporter
? Not sure if that's possible or if it's a req for that.
If you are using the operator you would have to use the HTTP exporter for traces and logs and set the exporter env to otlp_proto_http
instead of otlp_proto_grpc
Tried that, same error... looks like it's expecting otlp_proto_grpc
for metrics regardless.
Tried that, same error... looks like it's expecting
otlp_proto_grpc
for metrics regardless.
I was able to get it working with @srikanthccv's workaround, in the instrumentation manifest:
python:
env:
- name: OTEL_METRICS_EXPORTER
value: none
One issue is the opentelemetry-operator doesn't have a build of 0.34b0 and it is by default using very old 0.32b0. We need to bump the deps and have them build some new images, opened https://github.com/open-telemetry/opentelemetry-operator/pull/1147
The other problem is the operator should probably set OTEL_METRICS_EXPORTER=none
until https://github.com/open-telemetry/opentelemetry-python/issues/2447 is fixed to prevent it from crashing. I don't the user should need to do this manual workaround. Opened https://github.com/open-telemetry/opentelemetry-operator/pull/1149
+1 I was able to get working by setting OTEL_METRICS_EXPORTER:NONE from the last couple of releases.
This should be fixed in the latest release https://github.com/open-telemetry/opentelemetry-operator/releases/tag/v0.61.0. However you'll still have to change the OTLP endpoint for traces to use port 4318 as described in https://github.com/open-telemetry/opentelemetry-operator/issues/924, but that is a separate issue.
Describe your environment
Python 3.8
Container running in k8s
simple fastAPI app
OpenTelemetry Auto-Instrumentation Injection done via operator: https://github.com/open-telemetry/opentelemetry-operator#opentelemetry-auto-instrumentation-injection
OpenTelemetry auto-instrumentation image version:
0.33b0
OpenTelemetry Auto-Instrumentation Package Dependencies: requirements.txt
Additional Info:
0.60.0
Steps to reproduce Following the official guide from here: https://github.com/open-telemetry/opentelemetry-operator#opentelemetry-auto-instrumentation-injection
What is the expected behavior? OpenTelemetry being initialised & traces befing forwarded
What is the actual behavior? The following error is raised after the init container performs the auto-injection.
Additional context I've tried adding the missing otlp_proto_grpc and rebuilt the init container docker image, and tried using that image. But it then throws this error:
I've also tried updating all pip packages and dependencies to utilise opentelemetry-exporter-otlp-proto version
1.13.0
& opentelemetry-distro version0.34b0
in this file: https://github.com/open-telemetry/opentelemetry-operator/blob/main/autoinstrumentation/python/requirements.txtBut I get the same error
Requested component 'otlp_proto_grpc' not found
.To rule out other issue, I've tested dotnet auto-injeciton, and that works fine with no issues.
Regards