OpenTelemetry (OTLP)
The OpenTelemetry (OTLP) destination exports logs, metrics, and traces from a Bindplane pipeline to any backend that accepts the OpenTelemetry Protocol (OTLP). It works with any OTLP receiver, including another OpenTelemetry Collector, an OTLP gateway, or a vendor backend that exposes an OTLP ingest endpoint. Choose between OTLP/gRPC and OTLP/HTTP transport, and configure TLS, compression, batching, retry, and queuing as needed.
Supported Telemetry
✓
✓
✓
Use Choose Telemetry Type to select which signals this destination exports.
Prerequisites
A reachable OTLP endpoint. This is the hostname or IP address and port of the OTLP receiver you are sending to. The default port is
4317for OTLP/gRPC and4318for OTLP/HTTP.The transport the endpoint accepts: OTLP over gRPC or OTLP over HTTP.
Any authentication the endpoint requires, supplied as request headers (for example an
Authorizationor API-key header).Any TLS material the endpoint requires: a CA certificate to validate the server, and, for mutual TLS, a client certificate and private key.
This destination is a generic OTLP exporter and does not require a specific vendor account. Consult the documentation for your OTLP backend for the exact endpoint, port, headers, and TLS requirements.
Configuration

Connection
Choose Telemetry Type
Telemetry Selector
No
Logs, Metrics, Traces
Select which types of telemetry to export.
Hostname
String
Yes
(empty)
Hostname or IP address where the exporter will send OTLP data.
Port
Integer
No
4317
TCP port to which the exporter sends OTLP data. Shown when Protocol is grpc. Valid range 1 to 65535.
Port
Integer
No
4318
TCP port to which the exporter sends OTLP data. Shown when Protocol is http. Valid range 1 to 65535.
Protocol
Enum: grpc, http
No
grpc
The OTLP protocol to use when sending OTLP telemetry.
Path Prefix
String
No
(empty)
Optional path prefix added to the HTTP endpoint.1 Shown when Protocol is http.
Telemetry is sent to
/v1/metrics,/v1/logs, and/v1/tracesby default; a prefix of/myappsends metrics to/myapp/v1/metrics.
Advanced
Additional Headers
Map
No
(empty)
Additional headers to attach to each request. Use for authentication tokens or API keys.
Compression
Enum: none, gzip, deflate, snappy, zlib, zstd
No
gzip
Compression algorithm to use when sending data. Shown when Protocol is http.
Compression
Enum: none, gzip, snappy, zstd
No
gzip
Compression algorithm to use when sending data. Ensure the server supports the selected algorithm. Shown when Protocol is grpc.
Timeout
Integer
Yes
30
Timeout, in seconds, for sending batches to the destination.
Advanced — gRPC Load Balancing
Enable gRPC Load Balancing
Boolean
No
false
Use native gRPC client-side load balancing with DNS name resolution. Shown when Protocol is grpc.
Load Balancing Policy
Enum: round_robin, pick_first
No
round_robin
Load balancing policy to use when sending to multiple OTLP endpoints. Shown when Enable gRPC Load Balancing is on.
Advanced — TLS
Enable TLS
Boolean
No
false
Whether to use TLS.
Skip TLS Certificate Verification
Boolean
No
false
Skip verification of the server's certificate. Shown when Enable TLS is on.
TLS Certificate Authority File
String
No
(empty)
Optional certificate authority file used to validate the server's certificate. Shown when Enable TLS is on.
Server Name Override
String
No
(empty)
Optional virtual hostname indicating the name of the server requested by the client. Generally not required. Shown when Enable TLS is on.
Mutual TLS
Boolean
No
false
Whether to use client TLS authentication (mTLS). Shown when Enable TLS is on.
TLS Client Certificate File
String
Yes
(empty)
Path to the client certificate used for mutual TLS. Required when Enable TLS and Mutual TLS are both on.
TLS Client Private Key
String
Yes
(empty)
Path to the client private key used for mutual TLS. Required when Enable TLS and Mutual TLS are both on.
Advanced — Processing
Drop Raw Copy
Boolean
No
true
When enabled, the raw copy of the log stored in log.record.original is dropped.
Advanced — Batching
Enable Batching
Boolean
No
true
Batch telemetry data before sending to the destination.
Send Batch Size
Integer
Yes
8192
Number of spans, metric data points, or log records after which a batch is sent regardless of the timeout. Shown when Enable Batching is on.
Send Batch Max Size
Integer
Yes
0
Upper limit of the batch size. 0 means no upper limit. Must be greater than or equal to Send Batch Size. Shown when Enable Batching is on.
Timeout
Duration
Yes
200ms
Time after which a batch is sent regardless of size. Example: 2s. Shown when Enable Batching is on.
Advanced — Retry on Failure
Enable Retry on Failure
Boolean
No
true
Attempt to resend telemetry that failed to transmit.
Initial interval
Integer
No
5
Time, in seconds, to wait after the first failure before retrying. Shown when Enable Retry on Failure is on.
Max interval
Integer
No
30
Upper bound, in seconds, on backoff. Shown when Enable Retry on Failure is on.
Max elapsed time
Integer
No
300
Maximum time, in seconds, spent trying to send a batch before giving up. Shown when Enable Retry on Failure is on.
Advanced — Sending Queue
Enable Sending Queue
Boolean
No
true
Buffer telemetry temporarily before sending to help avoid data loss during a temporary network outage.
Number of Consumers
Integer
No
10
Number of consumers that dequeue batches. Shown when Enable Sending Queue is on.
Queue Size
Integer
No
5000
Maximum number of batches kept in memory before dropping. Shown when Enable Sending Queue is on.
Enable Persistent Queuing
Boolean
No
true
Buffer telemetry to disk before sending to help avoid data loss during network outages or collector restarts. Shown when Enable Sending Queue is on.
Persistent Queue Storage
Extension
Yes
File storage extension
Storage to use for the persistent queue. Shown when Enable Sending Queue and Enable Persistent Queuing are both on.
Examples
Export all signals to an OTLP gateway over gRPC with TLS
This destination sends logs, metrics, and traces to an OTLP receiver at otlp.example.com:4317 over gRPC. TLS is enabled and validated against a CA file, and an authentication token is supplied as a request header.
Configuration Tips
gRPC vs HTTP. OTLP/gRPC (Protocol
grpc, default port4317) is usually the most efficient choice and is the right default when the backend supports it. Choose OTLP/HTTP (Protocolhttp, default port4318) when the path to the backend only allows HTTP, for example through a proxy or load balancer that does not pass gRPC, or when the backend exposes only an OTLP/HTTP ingest endpoint. The two protocols use different ports and a different set of compression algorithms, so confirm which transport your endpoint accepts before selecting one.HTTP path prefix. With OTLP/HTTP, telemetry is sent to
/v1/metrics,/v1/logs, and/v1/traces. If the backend serves OTLP under a different base path, set Path Prefix so the signal paths are prefixed accordingly (for example/myappyields/myapp/v1/metrics).Compression and the receiver. Compression defaults to
gzip. The OTLP/gRPC and OTLP/HTTP transports support different algorithm sets, and the receiving server must support the algorithm you pick. Set Compression tononeif the backend does not support compression.Persistence. Keep the sending queue and persistent queuing enabled so buffered telemetry survives a temporary network outage or a collector restart rather than being dropped.
Troubleshooting
Authentication or permission errors from the backend
Symptoms: the backend rejects requests with an authentication or authorization error.
Solutions:
Confirm the required auth header is set under Additional Headers with the exact name and value the backend expects (for example
Authorization: Bearer <token>).Verify the token or API key is still valid and has permission to ingest the signals you are exporting.
Connection refused or wrong endpoint
Symptoms: the exporter cannot reach the destination, or requests fail with connection or 404 errors.
Solutions:
Confirm Hostname and Port match the OTLP receiver. Use port
4317for gRPC and4318for HTTP unless the backend documents otherwise.Confirm Protocol matches what the endpoint accepts. A gRPC client cannot talk to an HTTP-only endpoint and vice versa.
For OTLP/HTTP, verify Path Prefix if the backend serves OTLP under a non-default base path.
TLS handshake failures
Symptoms: the connection fails during the TLS handshake or with a certificate validation error.
Solutions:
With Enable TLS on, provide a CA file that can validate the server's certificate, or correct the Server Name Override if the certificate's name differs from the hostname.
For mutual TLS, confirm the client certificate and private key paths are correct and readable by the collector.
Skip TLS Certificate Verification can confirm a certificate problem during testing, but leave it off in production.
Throttling or dropped data
Symptoms: the backend returns throttling responses, or telemetry is dropped under load.
Solutions:
Keep Enable Retry on Failure on so transient failures and throttling responses are retried with backoff.
Keep the sending queue and persistent queuing enabled; increase Queue Size if data is dropped during sustained outages.
Tune batching (Send Batch Size, Timeout) to match the backend's ingest limits.
Standalone Destination
Related Resources
Last updated
Was this helpful?