otlp_http
Send OpenTelemetry traces, logs, and metrics via OTLP/HTTP protocol.
Sends OpenTelemetry telemetry data to a remote collector via OTLP/HTTP protocol.
Accepts batches of Redpanda OTEL v1 protobuf messages (spans, log records, or metrics) and converts them to OTLP format for transmission to OpenTelemetry collectors.
-
Common
-
Advanced
outputs:
label: ""
otlp_http:
endpoint: "" # No default (required)
max_in_flight: 64
outputs:
label: ""
otlp_http:
endpoint: "" # No default (required)
content_type: protobuf
headers: {}
timeout: 30s
proxy_url: ""
follow_redirects: false
disable_http2: false
tls:
enabled: false
skip_cert_verify: false
cert_file: ""
key_file: ""
tcp:
connect_timeout: 0s
keep_alive:
idle: 15s
interval: 15s
count: 9
tcp_user_timeout: 0s
oauth:
enabled: false
consumer_key: ""
consumer_secret: ""
access_token: ""
access_token_secret: ""
basic_auth:
enabled: false
username: ""
password: ""
jwt:
enabled: false
private_key_file: ""
signing_method: ""
claims: {}
headers: {}
oauth2:
enabled: false
client_key: ""
client_secret: ""
token_url: ""
scopes: []
endpoint_params: {}
max_in_flight: 64
Input format
Expects messages in Redpanda OTEL v1 protobuf format with metadata:
-
signal_type: "trace", "log", or "metric"
Each batch must contain messages of the same signal type. The entire batch is converted to a single OTLP export request and sent via HTTP POST.
Endpoints
The output automatically appends the signal type path to the base endpoint:
-
Traces:
{endpoint}/v1/traces -
Logs:
{endpoint}/v1/logs -
Metrics:
{endpoint}/v1/metrics
Content types
Supports two content types:
-
protobuf(default):application/x-protobuf -
json:application/json
Fields
basic_auth.password
A password to authenticate with.
|
This field contains sensitive information that usually shouldn’t be added to a configuration directly. For more information, see Manage Secrets before adding it to your configuration. |
Type: string
Default: ""
content_type
Content type for HTTP requests. Options: 'protobuf' or 'json'.
Type: string
Default: protobuf
Options: protobuf, json
follow_redirects
Transparently follow redirects, i.e. responses with 300-399 status codes. If disabled, the response message will contain the body, status, and headers from the redirect response and the processor will not make a request to the URL set in the Location header of the response.
Type: bool
Default: false
headers
A map of headers to add to the request.
This field supports interpolation functions.
Type: string
Default: {}
# Examples:
headers:
X-Custom-Header: value
traceparent: ${! tracing_span().traceparent }
jwt.private_key_file
A file with the PEM encoded via PKCS1 or PKCS8 as private key.
Type: string
Default: ""
jwt.signing_method
A method used to sign the token such as RS256, RS384, RS512 or EdDSA.
Type: string
Default: ""
max_in_flight
The maximum number of messages to have in flight at a given time. Increase this to improve throughput.
Type: int
Default: 64
oauth.access_token
A value used to gain access to the protected resources on behalf of the user.
Type: string
Default: ""
oauth.access_token_secret
A secret provided in order to establish ownership of a given access token.
|
This field contains sensitive information that usually shouldn’t be added to a configuration directly. For more information, see Manage Secrets before adding it to your configuration. |
Type: string
Default: ""
oauth.consumer_key
A value used to identify the client to the service provider.
Type: string
Default: ""
oauth.consumer_secret
A secret used to establish ownership of the consumer key.
|
This field contains sensitive information that usually shouldn’t be added to a configuration directly. For more information, see Manage Secrets before adding it to your configuration. |
Type: string
Default: ""
oauth2
Allows you to specify open authentication via OAuth version 2 using the client credentials token flow.
Type: object
oauth2.client_key
A value used to identify the client to the token provider.
Type: string
Default: ""
oauth2.client_secret
A secret used to establish ownership of the client key.
|
This field contains sensitive information that usually shouldn’t be added to a configuration directly. For more information, see Manage Secrets before adding it to your configuration. |
Type: string
Default: ""
oauth2.endpoint_params
A list of optional endpoint parameters, values should be arrays of strings.
Type: object
Default: {}
# Examples:
endpoint_params:
audience:
- https://example.com
resource:
- https://api.example.com
tcp.connect_timeout
Maximum amount of time a dial will wait for a connect to complete. Zero disables.
Type: string
Default: 0s
tcp.keep_alive.count
Maximum unanswered keep-alive probes before dropping the connection. Zero defaults to 9.
Type: int
Default: 9
tcp.keep_alive.idle
Duration the connection must be idle before sending the first keep-alive probe. Zero defaults to 15s. Negative values disable keep-alive probes.
Type: string
Default: 15s
tcp.keep_alive.interval
Duration between keep-alive probes. Zero defaults to 15s.
Type: string
Default: 15s