Limited support
The open-source version of nginx currently only supports pushing traces to an OpenTelemetry Collector. You can expose some metrics via Prometheus endpoint, but these will not include request-based metrics like latency or error rate, needed for availability or latency SLO. It is not possible to send logs without using additional helpers.
If your only goal is to collect traces, there is an official nginx image variant that supports OpenTelemetry-based tracing. You can exchange the default image variant with that one if you were using the official nginx image before.
See the ”*-otel” tags at Docker Hub.
Collecting logs and metrics
If you need to be able to collect logs and metrics via OpenTelemetry and you don’t have other ways to do this, the simplest solution is to use an alternative web server like Traefik, Envoy or Caddy. If you don’t have the luxury to choose and there is no budget for nginx plus, it’s still going to be possible to at least get metrics, but it will get hacky.