> ## Documentation Index
> Fetch the complete documentation index at: https://notes.kodekloud.com/llms.txt
> Use this file to discover all available pages before exploring further.

# OTel Collector Distributions

> Overview of OpenTelemetry Collector distributions, comparing Core and Contrib, when and how to build custom collectors with OCB, support models, releases, best practices, and Kubernetes deployment patterns

This lesson explains OpenTelemetry Collector distributions: how they’re packaged, extended, and when to build a custom collector. You’ll learn the differences between Collector Core and Contrib, how to pick components safely, how to create a tailored build with the OpenTelemetry Collector Builder (OCB), and high-level Kubernetes deployment patterns.

Here’s the big-picture outline: compare Collector Core vs Contrib, decide when to build a custom collector, review support and releases, and preview Kubernetes deployment patterns.

<Frame>
  <img src="https://mintcdn.com/kodekloud-c4ac6d9a/PzOnM7CVSD5medE3/images/Prep-Course-OpenTelemetry-Certified-Associate-OTCA-Certification/OTel-Collector-Foundations/OTel-Collector-Distributions/otel-collector-distributions-big-picture.jpg?fit=max&auto=format&n=PzOnM7CVSD5medE3&q=85&s=57638ab457885432f41166b6abdd96d8" alt="The image outlines the key aspects of &#x22;OTel Collector Distributions: The Big Picture,&#x22; including comparing OTel Collector Core vs Contrib, deciding when to build a custom collector, and understanding support and release." width="1920" height="1080" data-path="images/Prep-Course-OpenTelemetry-Certified-Associate-OTCA-Certification/OTel-Collector-Foundations/OTel-Collector-Distributions/otel-collector-distributions-big-picture.jpg" />
</Frame>

## Collector Core — minimal, stable foundation

The Collector Core distribution is intentionally conservative and small. It contains the officially maintained components required to build predictable telemetry pipelines: receivers, processors, exporters, and extensions. Core’s limited surface area and slower cadence make it easier to audit, upgrade, and operate safely in production.

<Frame>
  <img src="https://mintcdn.com/kodekloud-c4ac6d9a/PzOnM7CVSD5medE3/images/Prep-Course-OpenTelemetry-Certified-Associate-OTCA-Certification/OTel-Collector-Foundations/OTel-Collector-Distributions/otel-collector-core-components-outline.jpg?fit=max&auto=format&n=PzOnM7CVSD5medE3&q=85&s=93e8f737406c3f50e0d3be62fb149455" alt="The image outlines the OTel Collector Core, highlighting a lean set of components: Receivers, Exporters, Processors, and Extensions." width="1920" height="1080" data-path="images/Prep-Course-OpenTelemetry-Certified-Associate-OTCA-Certification/OTel-Collector-Foundations/OTel-Collector-Distributions/otel-collector-core-components-outline.jpg" />
</Frame>

What Core typically includes

* Receivers: `otlp` and simple/no-op receivers for testing or when no external input is required.
* Exporters: `otlp`, no-op, debug/logging exporters.
* Processors: `batch`, `memory_limiter`, and other stability-focused processors.
* Extensions: `health_check`, `pprof`, `zpages`, etc.

Keeping your runtime close to Core reduces upgrade risk and simplifies security reviews.

<Frame>
  <img src="https://mintcdn.com/kodekloud-c4ac6d9a/PzOnM7CVSD5medE3/images/Prep-Course-OpenTelemetry-Certified-Associate-OTCA-Certification/OTel-Collector-Foundations/OTel-Collector-Distributions/collector-core-data-flow-table.jpg?fit=max&auto=format&n=PzOnM7CVSD5medE3&q=85&s=d8cb9d9158437822dcbf0f08976bef52" alt="The image shows a table describing components of a &#x22;Collector Core,&#x22; divided into &#x22;Core Data Flow&#x22; and &#x22;Stability & Extensions,&#x22; listing different types of receivers, exporters, processors, and extensions. It emphasizes that a minimal core ensures predictable upgrades." width="1920" height="1080" data-path="images/Prep-Course-OpenTelemetry-Certified-Associate-OTCA-Certification/OTel-Collector-Foundations/OTel-Collector-Distributions/collector-core-data-flow-table.jpg" />
</Frame>

## Collector Contrib — broad integrations, faster change

Contrib extends Core with community- and vendor-contributed components. It includes integrations for Prometheus, Kafka, Jaeger, cloud providers (AWS, Azure, GCP), and many other systems. Contrib is feature-rich and moves faster, but many components are experimental or community-maintained—validate maturity before production use.

<Frame>
  <img src="https://mintcdn.com/kodekloud-c4ac6d9a/PzOnM7CVSD5medE3/images/Prep-Course-OpenTelemetry-Certified-Associate-OTCA-Certification/OTel-Collector-Foundations/OTel-Collector-Distributions/understanding-contrib-technologies-logos-slide.jpg?fit=max&auto=format&n=PzOnM7CVSD5medE3&q=85&s=816bb428d3b223935ca65bc2f47c23ad" alt="The image is an educational slide titled &#x22;Understanding Contrib&#x22; featuring logos and names of various technologies like Prometheus, Kafka, Jaeger, AWS, Azure, and GCP. It includes notes stating &#x22;Not default for production&#x22; and &#x22;Validate maturity first.&#x22;" width="1920" height="1080" data-path="images/Prep-Course-OpenTelemetry-Certified-Associate-OTCA-Certification/OTel-Collector-Foundations/OTel-Collector-Distributions/understanding-contrib-technologies-logos-slide.jpg" />
</Frame>

Component stability

Contrib components typically progress through these stability stages: Development → Alpha → Beta → Stable. Use Development/Alpha/Beta for experimentation. Only promote a component to production once it is declared Stable and validated in your environment. Stability may vary across signals (traces/metrics/logs) and across different features of the same component.

<Frame>
  <img src="https://mintcdn.com/kodekloud-c4ac6d9a/PzOnM7CVSD5medE3/images/Prep-Course-OpenTelemetry-Certified-Associate-OTCA-Certification/OTel-Collector-Foundations/OTel-Collector-Distributions/component-stability-bar-diagram.jpg?fit=max&auto=format&n=PzOnM7CVSD5medE3&q=85&s=4ec62c097ca3d85cc490da5030a09e2b" alt="The image depicts a bar diagram showing stages of component stability: Development, Alpha, Beta, and Stable, progressing from testing to production. It illustrates how stability can vary per signal or feature." width="1920" height="1080" data-path="images/Prep-Course-OpenTelemetry-Certified-Associate-OTCA-Certification/OTel-Collector-Foundations/OTel-Collector-Distributions/component-stability-bar-diagram.jpg" />
</Frame>

Feature gates

Experimental features are often controlled by feature gates (runtime toggles). Only enable feature gates after testing. Feature gates can be set via CLI or environment variables; check each component’s documentation for exact gate names and semantics.

Example usage patterns:

```bash theme={null}
# Run the Contrib binary (many distros ship a separate binary such as otelcol-contrib)
otelcol-contrib --config=collector-config.yaml --feature-gates=<gate>=enabled

# Or set via environment variable
OTEL_FEATURE_GATES=<gate>=enabled otelcol-contrib --config=collector-config.yaml
```

## Core vs Contrib — quick comparison

| Aspect         | Core                                              | Contrib                                                       |
| -------------- | ------------------------------------------------- | ------------------------------------------------------------- |
| Scope          | Minimal, vetted components                        | Wide range of community/vendor integrations                   |
| Change cadence | Slower, conservative                              | Faster, more experimental                                     |
| Risk           | Lower upgrade/surface area risk                   | Higher; validate maturity per component                       |
| Use case       | Production-critical, audit-sensitive environments | Integration testing, rapid prototyping, broad connector needs |

<Frame>
  <img src="https://mintcdn.com/kodekloud-c4ac6d9a/PzOnM7CVSD5medE3/images/Prep-Course-OpenTelemetry-Certified-Associate-OTCA-Certification/OTel-Collector-Foundations/OTel-Collector-Distributions/core-vs-contrib-components-comparison.jpg?fit=max&auto=format&n=PzOnM7CVSD5medE3&q=85&s=82cdadd8c33165ebf3549cd61ea2e583" alt="The image compares &#x22;Core&#x22; and &#x22;Contrib&#x22; components, highlighting attributes like minimal set and slower change for Core, versus broad coverage and faster change for Contrib. It also suggests guidelines for production usage of these components." width="1920" height="1080" data-path="images/Prep-Course-OpenTelemetry-Certified-Associate-OTCA-Certification/OTel-Collector-Foundations/OTel-Collector-Distributions/core-vs-contrib-components-comparison.jpg" />
</Frame>

## When to build your own collector

If Contrib components you rely on are stable but you want a smaller, more controlled runtime, build a custom collector. Benefits:

* Smaller images/binaries containing only needed components.
* Reduced attack surface and fewer third-party dependencies.
* Easier compliance and security reviews.
* Predictable upgrades and consistent test results across environments.

<Frame>
  <img src="https://mintcdn.com/kodekloud-c4ac6d9a/PzOnM7CVSD5medE3/images/Prep-Course-OpenTelemetry-Certified-Associate-OTCA-Certification/OTel-Collector-Foundations/OTel-Collector-Distributions/why-build-your-own-collector-infographic.jpg?fit=max&auto=format&n=PzOnM7CVSD5medE3&q=85&s=2dd83bc656e46d0ef3df25528ccaf4a0" alt="The image is an infographic titled &#x22;Why Build Your Own Collector?&#x22; outlining benefits such as smaller images, reduced attack surface, easier compliance, and operational ease at scale." width="1920" height="1080" data-path="images/Prep-Course-OpenTelemetry-Certified-Associate-OTCA-Certification/OTel-Collector-Foundations/OTel-Collector-Distributions/why-build-your-own-collector-infographic.jpg" />
</Frame>

## How to build a custom collector (OCB)

Use the OpenTelemetry Collector Builder (OCB) to generate a tailored collector binary or container image:

1. Create a manifest YAML that lists the receivers, processors, exporters, and extensions you require.
2. Run OCB to generate a custom binary or container image containing only those components.
3. Publish the resulting image to your registry and deploy it.

Example minimal OCB manifest snippet:

```yaml theme={null}
components:
  receivers:
    otlp:
  processors:
    batch:
  exporters:
    otlp:
service:
  pipelines:
    traces:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlp]
```

Recommended workflow

* Build the OCB image in CI, pinning component versions.
* Run integration tests in staging and validate upgrade paths.
* Push the image to a private registry and roll out via your normal deployment pipelines.

<Frame>
  <img src="https://mintcdn.com/kodekloud-c4ac6d9a/PzOnM7CVSD5medE3/images/Prep-Course-OpenTelemetry-Certified-Associate-OTCA-Certification/OTel-Collector-Foundations/OTel-Collector-Distributions/opentelemetry-collector-builder-process.jpg?fit=max&auto=format&n=PzOnM7CVSD5medE3&q=85&s=4dbb23e55572034110558cf95b76e248" alt="The image outlines a process for using the OpenTelemetry Collector Builder (OCB), involving defining a manifest file, running OCB to generate a binary/container, and publishing the image to a registry." width="1920" height="1080" data-path="images/Prep-Course-OpenTelemetry-Certified-Associate-OTCA-Certification/OTel-Collector-Foundations/OTel-Collector-Distributions/opentelemetry-collector-builder-process.jpg" />
</Frame>

Useful commands and links

* OCB repository and docs: [https://github.com/open-telemetry/opentelemetry-collector-builder](https://github.com/open-telemetry/opentelemetry-collector-builder)
* Example: build a container image in CI and push to your registry

## Support models: community vs vendor

| Support type             | Typical characteristics                                   | Recommended when                                           |
| ------------------------ | --------------------------------------------------------- | ---------------------------------------------------------- |
| Community (Core/Contrib) | GitHub issues, community discussions, best-effort support | Development, experimentation, and early testing            |
| Vendor distributions     | SLAs, tested bundles, official support channels           | Production-critical deployments needing guaranteed support |

Vendor distributions often include compatibility testing with that vendor’s backend and may be preferable for production environments that require SLAs.

<Frame>
  <img src="https://mintcdn.com/kodekloud-c4ac6d9a/PzOnM7CVSD5medE3/images/Prep-Course-OpenTelemetry-Certified-Associate-OTCA-Certification/OTel-Collector-Foundations/OTel-Collector-Distributions/community-vendor-support-models-comparison.jpg?fit=max&auto=format&n=PzOnM7CVSD5medE3&q=85&s=cc5f47d2310c7973747c43b4fdc1c4c8" alt="The image compares community support with vendor support models, highlighting features like GitHub issues and discussions for community and SLAs and tested bundles for vendors. It notes vendor distros are recommended for production." width="1920" height="1080" data-path="images/Prep-Course-OpenTelemetry-Certified-Associate-OTCA-Certification/OTel-Collector-Foundations/OTel-Collector-Distributions/community-vendor-support-models-comparison.jpg" />
</Frame>

## Where to find releases

Core and Contrib binaries, OS packages, and container images are published in the OpenTelemetry Collector Releases repository:

* [https://github.com/open-telemetry/opentelemetry-collector-releases](https://github.com/open-telemetry/opentelemetry-collector-releases)

Use official artifacts for development and early testing. For production, prefer a validated OCB-built image or a vendor-supported distribution.

<Frame>
  <img src="https://mintcdn.com/kodekloud-c4ac6d9a/PzOnM7CVSD5medE3/images/Prep-Course-OpenTelemetry-Certified-Associate-OTCA-Certification/OTel-Collector-Foundations/OTel-Collector-Distributions/production-paths-collectors-ocb-distribution.jpg?fit=max&auto=format&n=PzOnM7CVSD5medE3&q=85&s=f218ff65c7341bed831c44d58725836d" alt="The image outlines two production paths for running collectors: building your own collector with OCB using validated components, or using a vendor-supported distribution for production." width="1920" height="1080" data-path="images/Prep-Course-OpenTelemetry-Certified-Associate-OTCA-Certification/OTel-Collector-Foundations/OTel-Collector-Distributions/production-paths-collectors-ocb-distribution.jpg" />
</Frame>

## Best practices

* Start by experimenting with Contrib to validate integrations and workflow.
* Track component stability labels and record feature gate usage.
* Pin versions and run upgrade tests in staging before promoting to production.
* Right-size your collector with OCB so only vetted components are included.
* Avoid enabling unnecessary or unstable components in production unless protected by feature gates and covered by tests.
* Automate build and deployment (CI/CD) and deploy collectors declaratively.

## Kubernetes deployment patterns (high-level)

Common deployment patterns:

* Sidecar: a collector runs alongside each application pod — ideal for fine-grained telemetry capture and low-latency forwarding.
* DaemonSet: one collector per node — useful for node-level and host-level telemetry collection.
* Centralized Deployment: a set of centralized collectors that aggregate, process, and export telemetry for multiple services.

These patterns are covered in depth in a dedicated Kubernetes lesson.

<Frame>
  <img src="https://mintcdn.com/kodekloud-c4ac6d9a/PzOnM7CVSD5medE3/images/Prep-Course-OpenTelemetry-Certified-Associate-OTCA-Certification/OTel-Collector-Foundations/OTel-Collector-Distributions/kubernetes-deployment-patterns-high-level-view.jpg?fit=max&auto=format&n=PzOnM7CVSD5medE3&q=85&s=e35efc87ace78992d04d1f23b48f9680" alt="The image illustrates a high-level view of Kubernetes deployment, highlighting three patterns: Sidecar, DaemonSet, and Deployment. Each pattern is demonstrated through diagrams involving nodes, pods, and collectors within a Kubernetes cluster." width="1920" height="1080" data-path="images/Prep-Course-OpenTelemetry-Certified-Associate-OTCA-Certification/OTel-Collector-Foundations/OTel-Collector-Distributions/kubernetes-deployment-patterns-high-level-view.jpg" />
</Frame>

## Operator-driven management

An OpenTelemetry Operator automates collector lifecycle management in Kubernetes:

* Declare a Custom Resource (CR) manifest.
* The operator watches and reconciles the CR, creating and managing collector pods.
* This approach fits GitOps practices and simplifies upgrades and scaling.

Operator repo and docs: [https://github.com/open-telemetry/opentelemetry-operator](https://github.com/open-telemetry/opentelemetry-operator)

<Frame>
  <img src="https://mintcdn.com/kodekloud-c4ac6d9a/PzOnM7CVSD5medE3/images/Prep-Course-OpenTelemetry-Certified-Associate-OTCA-Certification/OTel-Collector-Foundations/OTel-Collector-Distributions/operator-driven-setup-kubernetes-crd.jpg?fit=max&auto=format&n=PzOnM7CVSD5medE3&q=85&s=1d9cba282f11b58526a490f36b865791" alt="The image illustrates an operator-driven setup concept in Kubernetes, showing a flow from a Custom Resource Definition (CRD) in a YAML file to an operator (controller), and finally to collector pods running in Kubernetes." width="1920" height="1080" data-path="images/Prep-Course-OpenTelemetry-Certified-Associate-OTCA-Certification/OTel-Collector-Foundations/OTel-Collector-Distributions/operator-driven-setup-kubernetes-crd.jpg" />
</Frame>

<Callout icon="lightbulb" color="#1CB2FE">
  For production, prefer validated OCB builds or vendor-supported distributions and deploy collectors declaratively (for example, via the OpenTelemetry Operator) to ensure reproducibility and easier operations.
</Callout>

## Wrap-up

* Collector Core: minimal and stable — ideal for predictable, low-risk deployments.
* Collector Contrib: broad integrations and faster innovation — validate component maturity and stability before production use.
* Use feature gates to control experimental behavior and test thoroughly.
* For scale and safety, build a tailored collector with OCB or adopt a vendor-supported distribution.
* In Kubernetes, deploy collectors declaratively (Operator/CRDs) and choose the deployment pattern that fits your telemetry and operational needs.

## Links and references

* OpenTelemetry Collector Builder (OCB): [https://github.com/open-telemetry/opentelemetry-collector-builder](https://github.com/open-telemetry/opentelemetry-collector-builder)
* OpenTelemetry Collector Releases: [https://github.com/open-telemetry/opentelemetry-collector-releases](https://github.com/open-telemetry/opentelemetry-collector-releases)
* OpenTelemetry Operator: [https://github.com/open-telemetry/opentelemetry-operator](https://github.com/open-telemetry/opentelemetry-operator)
* OpenTelemetry project: [https://opentelemetry.io/](https://opentelemetry.io/)

<CardGroup>
  <Card title="Watch Video" icon="video" cta="Learn more" href="https://learn.kodekloud.com/user/courses/prep-course-opentelemetry-certified-associate-certification-otca/module/94d2710a-c270-4c49-9e4b-df67653f1b47/lesson/79639a16-6b5a-40d9-9ec8-f0b6d576dd9e" />
</CardGroup>
