-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unable to export to Jaeger from OTEL collector #15291
Comments
I believe this is a basic Docker networking issue, but I'm adding the Jaeger label to this one. cc @frzifus |
hi @shrutich91, i agree with @jpkrohling. You should be able to fix it by adding |
Even with --network=host in both docker commands, and setting the endpoint to localhost:14250, I get the same error.
|
Could you please try to get it working outside of Docker first? If it works, then you know the problem is related to the network. |
Even I am facing the same issue, @shrutich91 , did you find any solution ? |
@navin-rai did you try to run the collector out side of Docker as @jpkrohling has proposed? |
I have deployed OTEL-COLLECTOR-Contrib on Kubernetes (locally [docker-desktop]) and I have spinned |
in Kubernetes or docker-desktop? Could you verify that both container (collector and jaeger instance) run in the same docker network and the jaeger instance is reachable with the hostname I assume its a network issue, since connecting from a local build works fine. Start Jaeger docker run --rm -it --network=host jaegertracing/all-in-one:1.36.0 Run local collector ./bin/otelcontribcol_linux_amd64 --config config.yaml Config ---
receivers:
otlp:
protocols:
grpc:
http:
exporters:
logging:
logLevel: debug
jaeger:
endpoint: localhost:14250
tls:
insecure: true
service:
pipelines:
traces:
receivers: [otlp]
exporters: [logging, jaeger]
|
This issue has been inactive for 60 days. It will be closed in 60 days if there is no activity. To ping code owners by adding a component label, see Adding Labels via Comments, or if you are unsure of which component this issue relates to, please ping |
running docker has problem I think. If you run the following command it will work Jaeger Docker OpeTelemetry Collector run From code specify the Otel Collector endpoint it will work. The Docker container does not work. I have tried lots of network stuff still does not work. |
@anilknayak I agree. Its the same thing like #15291 (comment). It is important that both containers (otel + jaeger) can reach each other. For this, it must be ensured that both are located in the same virtual network. Example $ docker run -d --rm -it --network=host jaegertracing/all-in-one:1.36.0
$ docker run -d --rm -it --network=host -v $(pwd)/cfg.yaml:/config.yaml:z otel/opentelemetry-collector-contrib:0.59.0 --config=/config.yaml
$ tracegen -otlp-insecure -duration 2s |
It seems that Jaeger all in one is not listening to port 14250, supporting only Thrift, not GRPC. There is thus no chance the OpenTelemetry Collector will be able to export to it. We either need a docker-compose configuration file with containers for each individual Jaeger service, Jaeger all-in-one be enhanced to listen to GRPC not just Thrift, or OpenTelemetry Collector export to Thrift in addition to GRPC. |
The all in one Docker image needs to be recent enough. I mistakenly used 1.6, mislead by tags on Docker Hub. You need to use something like 1.42, or latest. |
I have been spending considerable time on this but still couldn't figure out what the issue is. Just to confirm if whatever I am doing is right, does the collector listen on the http port 4318 for telemetry data and jaeger on http port 14250? this is my config.yaml file:
|
I am trying to use
Is there something I am missing here? Or is it like
|
@shubhamjadhav1896: Are you using [1] https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.86.0 |
Yes. I am using the same. And the issue has been sorted for me. In place of jaeger, you should try using OTLP protocol as this has been a standard protocol which Jaeger community has mentioned and they have removed the client library of Jaeger protocol from May 2022. |
@shubhamjadhav1896: Thank you! |
Welcome 😊 |
This helped me, I hadn't changed the port also https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/26675/files |
Describe your environment
I am using the following docker compose
Jaeger Docker:
OTEL Collector Docker:
OTEL Collector Config
What is the expected behavior?
I want to export traces from collector to jaeger but getting an error
What is the actual behavior?
The text was updated successfully, but these errors were encountered: