Build and Connect Custom OpenTelemetry Collector Distributions
This guide will walk you through the process of creating a custom OpenTelemetry distribution and how to use it with Bindplane.
Prerequisites
1. Building your OpenTelemetry Collector Distribution
# A skeleton OCB manifest that contains the minimal collector components needed to be compatible with Bindplane.
dist:
module: #todo
name: #todo
description: #todo
output_path: #todo
version: #todo
conf_resolver:
default_uri_scheme: "env"
connectors:
- gomod: go.opentelemetry.io/collector/connector/forwardconnector v0.128.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector v0.128.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/failoverconnector v0.128.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/roundrobinconnector v0.128.0
# Add additional connectors here
exporters:
- gomod: go.opentelemetry.io/collector/exporter/otlpexporter v0.128.0
- gomod: go.opentelemetry.io/collector/exporter/otlphttpexporter v0.128.0
- gomod: go.opentelemetry.io/collector/exporter/nopexporter v0.128.0
# Add additional exporters here
extensions:
- gomod: github.com/observiq/bindplane-otel-collector/extension/bindplaneextension v1.79.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.128.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/opampextension v0.128.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/filestorage v0.128.0
# Add additional extensions here
processors:
- gomod: github.com/observiq/bindplane-otel-collector/processor/snapshotprocessor v1.79.0
- gomod: github.com/observiq/bindplane-otel-collector/processor/throughputmeasurementprocessor v1.79.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricstransformprocessor v0.128.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor v0.128.0
# Add additional processors here
receivers:
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver v0.128.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver v0.128.0
- gomod: go.opentelemetry.io/collector/receiver/nopreceiver v0.128.0
# Add additional receivers here
providers:
- gomod: go.opentelemetry.io/collector/confmap/provider/envprovider v1.34.0
- gomod: go.opentelemetry.io/collector/confmap/provider/fileprovider v1.34.0
- gomod: go.opentelemetry.io/collector/confmap/provider/httpprovider v1.34.0
- gomod: go.opentelemetry.io/collector/confmap/provider/httpsprovider v1.34.0
- gomod: go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.34.0
# Add additional providers here
replaces:
- github.com/observiq/bindplane-otel-collector/internal/version => github.com/observiq/bindplane-otel-collector/internal/version v0.0.0-20250306153219-6fe3f849c29f # Needed for Bindplane Extension
# Add additional replaces here2. Creating an Agent Type in Bindplane
3. Version Syncing
4. Configuration Building
Last updated
Was this helpful?