OpenTelemetry Collector Components
November 27, 2025 ยท View on GitHub
OpenTelemetry Collector Components is a collection of components of the OpenTelemetry Collector that were created at Elastic.
For details on how to release individual or all components, see the release documentation.
Code of Conduct
See CODE_OF_CONDUCT.
License
This software is licensed under the Apache 2 license.
Building a collector with a custom component
In order to build a collector with a custom component, e.g. for testing purposes, follow these steps:
- Edit the manifest.yaml file:
- Add the component you want to test to the proper component section. For example, if you are testing a processor, add it to the
processorssection. - If you are testing a non-published version of the component, add an entry to the
replacesection, pointing to the local path of the component's source.
- Add the component you want to test to the proper component section. For example, if you are testing a processor, add it to the
- Build the collector through the
genelasticcoltarget of the root Makefile. Make sure to provideTARGET_GOOSand/orTARGET_GOARCHenvironment variables if you are building for a different platform. For example, when building on macOS in order to run through the Linux Docker image that is built by thebuilddockermake target (see next bullet) - use the following command:
The resulting binary will be placed in theTARGET_GOOS=linux CGO_ENABLED=0 make genelasticcol_builddirectory. - In order to build a Docker image with the collector, run the
builddockertarget of the root Makefile. This target requires the environment variableTAGto be set. The resulting image will be tagged aselastic-collector-components:<TAG>. You may also specify theUSERNAMEenvironment variable to name the image as<USERNAME>/elastic-collector-components:<TAG>. For example:make builddocker TAG=v0.1.0 USERNAME=johndoe
Load generator
See ./loadgen/README.md.