Skip to content

observatorium/observatorium-otelcol

Repository files navigation

Observatorium OpenTelemetry Collector distribution

This is the OpenTelemetry Collector distribution for Observatorium. It's composed of a manifest that is used to build the actual distribution using the OpenTelemetry Collector Builder, plus a few modules that aren't available in any upstream repository.

Right now, the following modules are part of the distribution:

Building

To build this project, you'll need the OpenTelemetry Collector Builder, which can be installed using:

$ go get github.com/observatorium/opentelemetry-collector-builder

Then, from the root of this project, run:

$ opentelemetry-collector-builder --config manifest.yaml

This is the expected outcome:

$ opentelemetry-collector-builder --config manifest.yaml
2020-09-16T12:15:17.089+0200	INFO	cmd/root.go:83	Using config file	{"path": "manifest.yaml"}
2020-09-16T12:15:17.092+0200	INFO	builder/main.go:80	Sources created	{"path": "./_build"}
2020-09-16T12:15:17.165+0200	INFO	builder/main.go:91	Compiling
2020-09-16T12:15:33.100+0200	INFO	builder/main.go:97	Compiled	{"binary": "./_build/observatorium-otelcol"}

The resulting binary is located at _build/observatorium-otelcol and can be started with:

$ _build/observatorium-otelcol --config collector.yaml

The provided OpenTelemetry Collector configuration example (collector.yaml) has a regular OTLP gRPC receiver and exports data to a Jaeger collector via gRPC (port 14250) that is expected to be running on localhost.

All extra processors are referenced in the configuration, making sure that the distribution knows about them. Not all of the processors are part of the pipeline.