Kubernetes Pods and Docker Containers views empty when using Elastic OpenTelemetry

After configuring Elastic Agent to monitor a Kubernetes cluster on version 9.2 or later, several views in the Kibana Infrastructure Inventory might appear empty.

Under Observability → Infrastructure → Inventory, the Docker Containers view shows no data, and so do the main summary metrics (CPU, memory, traffic) at the top of the Inventory page.

Note

Like the Docker Containers view, the Kubernetes Pods view shows no data. From 9.6, the Kubernetes Pods view supports OpenTelemetry, so an empty view has a different cause. Refer to Resolution for Kubernetes Pods for how to troubleshoot it on 9.6 and later.

The Hosts view (also under Inventory) works correctly and displays data.

For the Docker Containers view, this is expected behavior, not a configuration error in Elastic Agent.

In version 9.2.0, the inframetrics processor was removed from the Elastic Agent Helm charts for Kubernetes and on-premises deployments. Without this processor, data shipped by Elastic OpenTelemetry is not in the format the Docker Containers view of the Infrastructure UI expects.

Note

The Kubernetes Pods view is affected for the same reason. From 9.6, the Infrastructure UI reads Kubernetes pod metrics collected by the kubeletstats receiver directly, so this cause no longer applies to pods.

The Infrastructure UI shows Kubernetes pods collected using OpenTelemetry. If the Kubernetes Pods view is empty, check the following:

  1. Check the selected schema

    Set Show to Kubernetes Pods and confirm the Schema menu is set to OpenTelemetry. If it's set to Elastic System Integration, you only see pods collected by the Kubernetes integration. Refer to Select the data collection schema for how the Schema menu works.

  2. Check your time range

    The Schema menu only offers the schemas that have data in the current time range. Widen the time range if you expect OpenTelemetry pods but can't select the schema.

  3. Check that pod metrics are arriving

    Confirm that documents with data_stream.dataset: kubeletstatsreceiver.otel exist for your time range. If none exist, verify the kubeletstats receiver in your Collector configuration. Refer to the default Kubernetes configuration for the expected receiver settings.

  4. Check Group by

    Switching Schema doesn't clear Group by. A field left over from the other schema can leave the map empty. Clear or reselect Group by.

Use the out-of-the-box dashboards provided by the Kubernetes and System OpenTelemetry Assets integrations.

  1. Install the required integrations

    Use one of these methods:

    • Recommended: Use the Kibana Add Data wizard

      1. In Kibana, click Add Data on the Observability home page.
      2. Select Kubernetes.
      3. Choose the OpenTelemetry: Full Observability guide.
      4. The wizard automatically installs the Kubernetes OpenTelemetry Assets package and provides the correct configuration steps for Elastic Agent.
    • Manual installation

      1. In Kibana, go to Data management → Integrations.
      2. Search for and install the Kubernetes OpenTelemetry Assets integration.
      3. Repeat for the System OpenTelemetry Assets integration, which is required for host-level metrics on the nodes.
  2. Access the dashboards

    1. In Kibana, go to Dashboards.
    2. In the search bar, type OTEL.
    3. Select the [OTEL][Metrics Kubernetes] Cluster Overview dashboard to view your cluster's performance.

For a full end-to-end setup guide, refer to Quickstart: Unified Kubernetes Observability with Elastic OpenTelemetry.

On Elastic Stack versions before 9.6, use these dashboards for Kubernetes pods as well.

You can re-add the inframetrics processor as it was configured in versions 9.1.x YAML and Helm charts for the Elastic OpenTelemetry Kubernetes use case. This is not recommended — the future-proof solution is to use the OpenTelemetry Assets dashboards.