Create an OpenTelemetry Protocol (OTLP) Integration for NGINX Controller.
Confirm that your OpenTelemetry Collector server meets the following configuration requirements:
The OpenTelemetry Collector server should be configured to allow the following OTLP receiver protocols:
- HTTP - for unencrypted connections.
- HTTPS - for encrypted connections. Certificate validation and mutual TLS are not supported.
- gRPC - for unencrypted gRPC connections.
- gRPC + TLS - for encrypted gRPC connections. Certificate validation and mutual TLS are not supported.
The server should expose the OTLP receiver.
The forwarder produces an OTLP protocol
ExportMetricsServiceRequest message with the following restrictions:
- every metric is mapped to
- unit is set to
Authentication is currently not supported.
The following example configuration for OpenTelemetry Collector can receive OTLP on HTTP and HTTPS endpoints and forward it to DataDog:
receivers: otlp/https: protocols: http: endpoint: "0.0.0.0:4318" tls_settings: cert_file: /etc/otel/server.crt key_file: /etc/otel/server.key otlp/http: protocols: http: endpoint: "0.0.0.0:4319" otlp/grpc_tls: protocols: grpc: endpoint: "0.0.0.0:4418" tls_settings: cert_file: /etc/otel/server.crt key_file: /etc/otel/server.key otlp/grpc: protocols: grpc: endpoint: "0.0.0.0:4419" exporters: datadog: api: key: key service: pipelines: metrics/1: receivers: [otlp/http, otlp/https, otlp/grpc_tls, otlp/grpc] exporters: [datadog]
Take the following steps to create an integration for OpenTelemetry Collector:
- Open the NGINX Controller user interface and log in.
- Select the NGINX Controller menu icon, then select Platform.
- On the Platform menu, select Integrations.
- On the Integrations menu, select Create Integration.
- Add a name.
- (Optional) Add a display name.
- (Optional) Add a description.
- (Optional) Add tags.
- In the Integration Type list, select
- In the Endpoint URI box, add the one of HTTP, HTTPS, gRPC or gRPC+TLS endpoint for your OpenTelemetry Collector. This is the same address that’s configured in the OpenTelemetry Collector config in the receivers section. See the example config:
- HTTP endpoint should be
- HTTPS endpoint should be
- gRPC endpoint should be
- gRPC with TLS endpoint should be
- In the Credential Type list, select
UNAUTHENTICATED(at this time we do not support any authentication methods).
- Select Submit.