Skip to content

canonical/opentelemetry-collector-k8s-operator

Repository files navigation

OpenTelemetry Collector Operator for Kubernetes

CharmHub Badge Release Discourse Status

Charmed OpenTelemetry Collector operator for Kubernetes.

Design and features

  • This charm is written in the reconciler pattern.
  • A key design choice for the charm is that all telemetry goes to all exporters. Splitting telemetry can still be accomplished by tiering multiple otelcol apps.
  • The charm uses a custom otelcol distribution, which does not include all of contrib. Refer to manifest.yaml in the rock repo for included components.

Usage

charmcraft pack
juju deploy ./opentelemetry-collector-k8s_ubuntu@24.04-amd64.charm otelcol \
  --resource opentelemetry-collector-image=ubuntu/opentelemetry-collector \
  --queue_size=500 \
  --extra_alert_labels="environment:dev"

You can "recreate the world" with a dedicated charm action,

juju run otelcol/0 reconcile

Sample deployment scenario

In this example, otelcol is a collection agent pushing directly to backends.

graph LR

subgraph app-model
app-one --- otelcol
app-two --- otelcol
end

subgraph observability-model
otelcol ---|send-remote-write| mimir
otelcol ---|send-loki-logs| loki
otelcol ---|send-traces| tempo
otelcol ---|grafana-dashboards-consumer| grafana
end
Loading

OCI Images

Workload container Rock repo Dockerhub
otelcol opentelemetry-collector-rock ubuntu/opentelemetry-collector

Releases

GitHub branch Charmhub track Supported until
track/2 2 2026-07

Related charms

Contributing

Please see the Juju SDK docs for guidelines on enhancements to this charm following best practice guidelines, and the contributing doc for developer guidance.

About

This charmed operator automates the operational procedures of running OpenTelemetry Collector, an open-source telemetry collector.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors