Skip to content
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

OpenTelemetry always sets proxy #39729

Closed
NaumGj opened this issue Mar 27, 2024 · 2 comments · Fixed by #39733
Closed

OpenTelemetry always sets proxy #39729

NaumGj opened this issue Mar 27, 2024 · 2 comments · Fixed by #39733
Labels
area/tracing kind/bug Something isn't working
Milestone

Comments

@NaumGj
Copy link

NaumGj commented Mar 27, 2024

Describe the bug

Since this change in Quarkus 3.9, which was supposed to resolve this issue, we're facing problems with the connectivity to our OpenTelemetry collectors. In our case, the Quarkus application that exports OpenTelemetry traces is running in the same cluster / same corporate network as our OpenTelemetry collectors. Therefore, a proxy should never be set.

Prior to the referenced change, it wasn't possible to specify a proxy for the OpenTelemetry exporters in Quarkus, so the proxy was never set.

After the referenced change, if a proxy is not explicitly specified for an exporter, the proxy is copied from the JDK system properties. We set the HTTP_PROXY, HTTPS_PROXY and NO_PROXY as JDK system properties, so that our components can properly communicate with components inside and outside of our corporate network. When setting the proxy for the OpenTelemetry exporters, Quarkus considers only the HTTP_PROXY and HTTPS_PROXY.

Expected behavior

The expected behavior is any of the two:

  • No proxy hosts can also be set for OpenTelemetry exporters in Quarkus. At the moment, only an HTTP/HTTPS proxy can be set.
  • An HTTP/HTTPS proxy for a given exporter can only be set explicitly. It should not default to the proxies from the JDK system props.

Actual behavior

If an HTTP/HTTPS proxy is set in the JDK system properties, it's automatically applied to the OpenTelemetry export endpoints, although the OpenTelemetry collector is reachable without proxy. A no_proxy system property is ignored.

How to Reproduce?

Steps to reproduce behavior:

  • Set "quarkus.otel.exporter.otlp.traces.endpoint" to an OpenTelemetry collector hosted in the same network as the Quarkus application. The Quarkus application should therefore reach the collector without a proxy.
  • Set the HTTP/HTTPS proxy JDK system properties (because the application uses proxies to communicate to components other than the OpenTelemetry receiver).
  • The connection to the OpenTelemetry collector fails because it goes through a proxy.

Output of uname -a or ver

Linux 5.15.0-1056-aws #61~20.04.1-Ubuntu SMP x86_64 GNU/Linux

Output of java -version

openjdk version "17.0.9.0.101" 2024-01-16 LTS

Quarkus version or git rev

3.9.0

Build tool (ie. output of mvnw --version or gradlew --version)

No response

Additional information

No response

@NaumGj NaumGj added the kind/bug Something isn't working label Mar 27, 2024
@quarkus-bot
Copy link

quarkus-bot bot commented Mar 27, 2024

/cc @brunobat (opentelemetry), @radcortez (opentelemetry)

@brunobat
Copy link
Contributor

Will add a flag

@quarkus-bot quarkus-bot bot added this to the 3.10 - main milestone Mar 29, 2024
@gsmet gsmet modified the milestones: 3.10 - main, 3.9.2, 3.8.4 Apr 2, 2024
@gsmet gsmet modified the milestones: 3.8.4, 3.9.2 Apr 11, 2024
@gsmet gsmet modified the milestones: 3.9.2, 3.8.5 May 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/tracing kind/bug Something isn't working
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

3 participants