OTLP http
Configuring the OTLP http backend (Self-Hosted)
Getting Started
For advanced users trying to implement complex observability pipelines, Odigos support sending data to any OTLP http endpoint.
Note that if your backend expects OTLP over gRPC you should use the OTLP gRPC destination instead.
If your backend is supported natively in Odigos, it’s recommended to use the native integration.
Using Basic Authentication
This section is relevant if your OTLP http endpoint requires basic authentication (username and password).
To configure basic authentication, use the optional config options Basic Auth Username
and Basic Auth Password
.
Configuring Destination Fields
Supported Signals:
Supported Signals:
✅ Traces ✅ Metrics ✅ Logs
- OTLP_HTTP_ENDPOINT
string
: OTLP http Endpoint. The format ishost:port
, host is required, port is optional and defaults to the default OTLP HTTP port4318
.- This field is required
- Example:
http://host:port
- OTLP_HTTP_BASIC_AUTH_USERNAME
string
: Basic Auth Username. in case the otlp receiver requires basic auth, this is the username- This field is optional
- Example:
username
- OTLP_HTTP_BASIC_AUTH_PASSWORD
string
: Basic Auth Password. in case the otlp receiver requires basic auth, this is the password- This field is optional
- Example:
password
- OTLP_HTTP_OAUTH2_ENABLED
boolean
: Enable OAuth2. Enable OAuth2 client credentials authentication- This field is optional and defaults to
False
- This field is optional and defaults to
- OTLP_HTTP_OAUTH2_CLIENT_ID
string
: OAuth2 Client ID. OAuth2 client identifier for client credentials flow- This field is optional
- Example:
your-client-id
- OTLP_HTTP_OAUTH2_CLIENT_SECRET
string
: OAuth2 Client Secret. OAuth2 client secret for client credentials flow- This field is optional
- Example:
your-client-secret
- OTLP_HTTP_OAUTH2_TOKEN_URL
string
: OAuth2 Token URL. OAuth2 token endpoint URL for obtaining access tokens- This field is optional
- Example:
https://example.com/oauth2/token
- OTLP_HTTP_OAUTH2_SCOPES
string
: OAuth2 Scopes. Comma-separated list of OAuth2 scopes to request (e.g., “api.metrics,api.traces”)- This field is optional
- Example:
api.metrics,api.traces
- OTLP_HTTP_OAUTH2_AUDIENCE
string
: OAuth2 Audience. OAuth2 audience parameter for token requests- This field is optional
- Example:
api.example.com
- OTLP_HTTP_COMPRESSION
string
: Destination Compression Type. Compression type to use for the destination. The default isnone
. The compression type must be supported by the destination.- This field is optional and defaults to
none
- This field is optional and defaults to
- OTLP_HTTP_HEADERS
{ key: string; value: string; }[]
: Headers. Headers is the option to set custom HTTP headers for OTLP HTTP destination. If specified, please provide each header in the format: key:value. Multiple headers can be added. Keys must be non-empty strings and follow standard HTTP header conventions. Values must be non-empty strings and may include alphanumerics, whitespace, and standard punctuation.- This field is optional
- OTLP_HTTP_TLS_ENABLED
boolean
: Enable TLS. Secure connection- This field is optional and defaults to
False
- This field is optional and defaults to
- OTLP_HTTP_CA_PEM
string
: Certificate Authority. When using TLS, provide the CA certificate in PEM format to verify the server. If empty uses system root CA- This field is optional
- Example:
-----BEGIN CERTIFICATE-----
- OTLP_HTTP_INSECURE_SKIP_VERIFY
boolean
: Insecure Skip Verify. Skip TLS certificate verification- This field is optional and defaults to
False
- This field is optional and defaults to
Adding Destination to Odigos
There are two primary methods for configuring destinations in Odigos:
Using the UI
Use the Odigos CLI to access the UI
Click on Add Destination
, select OTLP http
and follow the on-screen instructions
Using Kubernetes manifests
Save the YAML below to a file (e.g. otlphttp.yaml
)
Apply the YAML using kubectl