Loading

Docker OpenTelemetry Input Package

Version 0.1.0 (View all)
Subscription level
What's this?
Basic
Developed by
What's this?
Elastic
Minimum Kibana version(s) 9.2.0
The Docker OpenTelemetry Input Package integration v0.1.0 is in beta

To use beta integrations, go to the Integrations page in Kibana, scroll down, and toggle on the Display beta integrations option.

The Docker OpenTelemetry Input Package for Elastic enables collection of telemetry data from Docker containers through OpenTelemetry protocols using the dockerstats receiver. It provides comprehensive metrics about container resource usage including CPU, memory, network, and block I/O statistics.

This package receives telemetry data from the Docker daemon by configuring the Docker endpoint in the Input Package, which then gets applied to the docker_stats receiver present in the EDOT collector, which then forwards the data to Elastic Agent. The Elastic Agent processes and enriches the data before sending it to Elasticsearch for indexing and analysis. Once the data arrives into Elasticsearch, its corresponding Docker OpenTelemetry Assets Package gets auto installed and the dashboards light up.

  • Access to the Docker daemon socket (default: unix:///var/run/docker.sock on Linux and npipe:////./pipe/docker_engine on Windows)
  • Docker API version greater than or equal to the one defined in Docker Stats Receiver Repo. Also, the API version must be supported by the Docker Engine being monitored.

This integration uses the OpenTelemetry dockerstats receiver which is currently in alpha stability. The configuration and metrics may change between versions.

For step-by-step instructions on how to set up an integration, see the Getting started guide.

The following configuration options are available:

The endpoint of the Docker daemon. If not specified, the receiver uses unix:///var/run/docker.sock on Linux. For remote Docker hosts, you can use TCP endpoints like tcp://docker-host:2375.

A list of container image names to exclude from metrics collection. Supports wildcards. Example:

- "nginx:*"
- "redis:latest"
		

The Docker API version to use. Default is "1.44". For Docker Engine v29, API version "1.44" or higher must be used.

Defines how long this receiver waits before starting. Default is 1s.

Map container labels to metric resource attributes. This allows you to add custom dimensions to your metrics based on container labels. Example:

my.container.label: my_metric_label
app.version: version
		

Map container environment variables to metric resource attributes. Example:

MY_ENV_VAR: my_metric_label
APP_VERSION: version
		

For a complete list of all available metrics, including their types, descriptions, and default enabled status, refer to the Docker Stats Receiver documentation in the upstream OpenTelemetry Collector repository.

The metrics configuration allows you to enable optional metrics or disable default metrics.

For example, to enable per-CPU usage metrics (which are disabled by default):

metrics:
  container.cpu.usage.percpu:
    enabled: true