Werk #17524: Experimental OpenTelemetry metrics processing

Component Checks & agents
Title Experimental OpenTelemetry metrics processing
Date Feb 13, 2025
Level Trivial Change
Class New Feature
Compatibility Compatible - no manual interaction needed
Checkmk versions & editions
2.5.0b1
Not yet released
Checkmk Cloud (CCE), Checkmk MSP (CME)
2.4.0b1 Checkmk Cloud (CCE), Checkmk MSP (CME)

Checkmk 2.4 offers experimental support for the processing of OpenTelemetry metrics. This is implemented via an OpenTelemetry collector which gets shipped with Checkmk. The collector can receive OpenTelemetry metrics via OTLP and scrape Prometheus endpoints to convert them to OpenTelemetry metrics in order to process them further.

OpenTelemetry metrics generated through this process can be associated to Checkmk host names based on their resource attributes. Corresponding temporary files get created at ~/tmp/check_mk/otel_collector.

A special agent then collects these metrics and generates the corresponding agent sections for each host. Subsequently, a monitoring plugin discovers services from these sections.

Additionally, a new type of DCD connector has been introduced. This connector automatically creates new hosts based on the collector output.

The feature consists of the following new building blocks:

  • an omd config setting to enable the built-in OpenTelemetry collector (default is off)
  • a Setup page to configure the built-in OpenTelemetry collector (including the mapping of resource attributes to host names)
  • a DCD connector type for the automatic creation of hosts based on the collected data
  • a special agent which creates the sections for the hosts
  • a monitoring plugin which discovers services from the OpenTelemetry metrics
  • a parametrization ruleset to define thresholds for the OpenTelemetry metrics

Since this feature is experimental, it comes with limitations. For example, only such OpenTelemetry metrics which contain one single data point can be converted into Checkmk metrics (one OpenTelemetry data point = one Checkmk metric). OpenTelemetry metrics that contain more than one data point are converted into informational Checkmk services, but cannot yet be parameterized and stay always OK. Furthermore, the collector only supports Basic Authentication on its endpoints. Handle with care.

This feature is experimental. The current implementation is subject to change without further notice.

To the list of all Werks