OpenTelemetry Deep Dive: Hands-On with the OTel Collector & Bindplane - Join the live workshop on March 19th at 11 AM ET!Sign Up Now

Google Cloud Storage

Supported Types

MetricsLogsTraces

Notes

​The Google Cloud Storage destination saves telemetry as OTLP JSON objects in Google Cloud Storage.

  1. The destination will create a bucket if it doesn't exist. Bucket names in GCS are globally unique, so if any organization contains a bucket with the given name, it will fail to create and will likely return 403 Forbidden codes when it tries to write. You can manually create the bucket in GCS to ensure the name is not taken. More info, here.
  2. Your credentials must have the Storage Admin permission to create buckets, folders, and objects.

Configuration

ParameterTypeDefaultDescription
telemetry_types*telemetrySelectorLogs, Metrics, TracesSpecifies which types of telemetry to export.
bucket_name*string""The name of the bucket to store objects in. Must be globally unique.
project_idstring""The ID of the Google Cloud project the bucket belongs to. Will be read from credentials if not configured.
auth_typeenumautoThe method used for authenticating to Google Cloud. Valid values are "auto", "json", or "file".
credentialsstring""JSON value from a Google Service Account credential file. Required if auth_type is "json".
credentials_filestring""Path to a Google Service Account credential file. Required if auth_type is "file".
bucket_locationenumUSThe location of the bucket. Only used during bucket creation. More info
bucket_storage_classenumSTANDARDThe storage class of the bucket. Only used during bucket creation. More info
partitionenumminuteThe granularity of the timestamps in the object path, either "minute" or "hour".
compressionenumnoneThe compression algorithm to use when exporting telemetry, either "none" or "gzip".
folder_namestring""An optional folder to put the objects in. Can be a nested folder path.
object_prefixstring""An optional prefix to prepend to the object file name.
*required field

Supported Retry and Queuing Settings

This destination supports the following retry and queuing settings:

Sending QueuePersistent QueueRetry on Failure

Example Configuration

Basic Configuration

For a basic configuration, we specify the bucket_name and use the default location and storage class. The project ID will be read from credentials. We update the compression to use gzip and we specify a folder name and object prefix.

The object paths in GCS will look like this:

text
1test-folder/year=2025/month=03/day=02/hour=06/minute=00/test-prefix_metrics_{random_id}.json.gz
2test-folder/year=2025/month=03/day=02/hour=06/minute=00/test-prefix_logs_{random_id}.json.gz
3test-folder/year=2025/month=03/day=02/hour=06/minute=00/test-prefix_traces_{random_id}.json.gz

Web Interface

Bindplane docs - Google Cloud Storage - image 1

Standalone Destination

yaml
1apiVersion: bindplane.observiq.com/v1
2kind: Destination
3metadata:
4  id: googlecloudstorage
5  name: googlecloudstorage
6spec:
7  type: googlecloudstorage
8  parameters:
9    - name: telemetry_types
10      value: ['Logs', 'Metrics', 'Traces']
11    - name: bucket_name
12      value: 'test-gcs-basic-configuration-bucket'
13    - name: project_id
14      value: ''
15    - name: auth_type
16      value: 'auto'
17    - name: bucket_location
18      value: 'US'
19    - name: bucket_storage_class
20      value: 'STANDARD'
21    - name: partition
22      value: 'minute'
23    - name: compression
24      value: 'gzip'
25    - name: folder_name
26      value: 'test-folder'
27    - name: object_prefix
28      value: 'test-prefix_'