Azure Blob Storage
The Azure Blob Storage destination exports telemetry from a Bindplane pipeline to a container in an Azure Storage account. Logs, metrics, and traces are written as OTLP JSON blobs, organized into a time-partitioned path inside the container.
Supported Telemetry
✓
✓
✓
Prerequisites
You need an Azure Storage account and a container to export into, plus a connection string that authorizes writes to that account.
A blob container created in that account. Supply its name as the
containerparameter.A connection string for the storage account. The connection string carries the account name and an account key (or a shared access signature) that grants write access. It is available under Access keys on the storage account in the Azure portal and has the form
DefaultEndpointsProtocol=https;AccountName=<name>;AccountKey=<key>;EndpointSuffix=core.windows.net.
The connection string is a credential. Treat it as a secret and avoid committing it in plaintext.
Configuration

Telemetry and destination
Telemetry Types
Telemetry Selector
No
Logs, Metrics, Traces
Which signals this destination exports.
Connection String
String
Yes
(empty)
The connection string for the Azure Storage account. Sensitive. Stored as a secret.
Container
String
Yes
(empty)
Name of the Azure Storage container to export telemetry into.
Folder Prefix
String
No
(empty)
Root directory of the blob path to export telemetry into.
Blob Prefix
String
No
(empty)
Prefix for the name of exported telemetry files.
Advanced
Granularity
Enum: minute, hour
No
minute
Granularity of the timestamps in the blob path.
Compression
Enum: none, gzip
No
gzip
Compression algorithm to use when sending data.
Drop Raw Copy
Boolean
No
true
When enabled, the raw copy of the log stored in log.record.original is dropped. Logs only.
Retry on Failure
Enable Retry on Failure
Boolean
No
true
Attempt to resend telemetry that failed to transmit to the destination.
Initial interval
Integer
No
5
Time in seconds to wait after the first failure before retrying. Applies when retry on failure is enabled.
Max interval
Integer
No
30
Upper bound in seconds on backoff. Applies when retry on failure is enabled.
Max elapsed time
Integer
No
300
Maximum time in seconds spent trying to send a batch before giving up, to avoid a never-ending retry loop. Applies when retry on failure is enabled.
Sending Queue
Enable Sending Queue
Boolean
No
true
Buffer telemetry temporarily before sending so data is not lost during a brief network outage.
Number of Consumers
Integer
No
10
Number of consumers that dequeue batches. Applies when the sending queue is enabled.
Queue Size
Integer
No
5000
Maximum number of batches kept in memory before dropping. Applies when the sending queue is enabled.
Enable Persistent Queuing
Boolean
No
true
Buffer telemetry to disk before sending so data survives network outages or collector restarts. Applies when the sending queue is enabled.
Persistent Queue Storage
Extension
Yes
file_storage_persistent_queue
The storage extension used for the persistent queue. Applies when the sending queue and persistent queuing are enabled.
Examples
Basic export with gzip and minute granularity
This destination writes all three signals to the otel container under a telemetry root folder, with file names prefixed bindplane. With the default minute granularity and gzip compression, blobs land at paths like:
Hourly granularity, uncompressed
Setting partition to hour and compression to none drops the minute path segment and writes plain JSON:
Configuration Tips
Use
gzipcompression (the default) to reduce blob storage volume and egress. Switch tononeonly when a downstream reader cannot decompress.Pick the
partitiongranularity to match how you query the data.minuteproduces fine-grained partitions for high-volume pipelines;hourproduces fewer, larger blobs that are cheaper to list.Keep the persistent queue enabled (the default) so buffered telemetry survives collector restarts. The default storage writes to
${OIQ_OTEL_COLLECTOR_HOME}/storageon disk.
Troubleshooting
Authentication or authorization fails
Symptoms: blobs are not written and the collector logs report a 403 or an authorization error from Azure Storage.
Solutions:
Confirm the connection string is current and copied in full from Access keys on the storage account. Rotating the account key invalidates an old connection string.
Verify the account key or shared access signature in the connection string grants write access to the target container.
Container not found
Symptoms: the export fails with a "container not found" or 404 error.
Solutions:
Confirm the
containervalue exactly matches an existing container in the storage account named in the connection string.The destination does not create the container. Create it in the Azure portal or with the Azure CLI before exporting.
Telemetry is dropped during outages
Symptoms: gaps in stored blobs after a network interruption or collector restart.
Solutions:
Keep the sending queue and persistent queuing enabled so data is buffered to disk rather than dropped.
If the in-memory queue fills (Queue Size reached), raise the queue size or the number of consumers to clear batches faster.
Standalone Destination
Related Resources
Last updated
Was this helpful?