Monitoring Podman

You can automatically discover and monitor Podman containers with Instana, gaining real-time insights to identify bottlenecks and optimize container performance. To get started, install the Instana host agent. After you install the agent, the Instana Podman sensor automatically activates, collecting real-time Podman metrics that you can view in the Instana UI.

Support information

To make sure that the Podman sensor is compatible with your current setup, check the following support information sections:

Supported operating systems

The supported operating systems of the Podman sensor are consistent with host agent requirements. For more information, see the supported operating systems section of each host agent installation topic, such as Supported operating systems for Unix.

Supported versions and support policy

The Podman sensor supports Podman 5.3.1 and earlier.

The following table shows the latest supported version and support policy:

Table 1. Latest supported version and support policy
Technology Support policy Latest version Latest supported version
Podman 45 days 5.3.1 5.3.1

For more information about the support policy, see Support strategy for sensors.

Supported Instana versions

Instana supports monitoring Podman container as a public preview feature from release 246. For self-hosted (on-premises) Instana, this public preview feature is supported only if your Instana backend is installed from release 247.

Installing the Instana host agent

To monitor Podman, you must install the Instana host agent. For more information, see Installing host agents. The agent automatically deploys, configures, and installs the Podman sensor.

Configuring Podman

The Podman sensor requires access to the podman.sock socket to fetch data from Podman. You must help ensure the socket is started and exists in the correct path for both rootful and rootless Podman containers.

To check the path of the socket, run the podman info command and search for the remoteSocket field.

To enable the socket file on a Red Hat Enterprise Linux (RHEL) system, run the following command:

systemctl enable --now podman.socket
systemctl --user start podman.socket

Optional: Configuring the Podman sensor

After you install the Instana host agent and configure Podman, the Podman sensor automatically detects your Podman containers and collects the following data from the installation:

Instana can monitor both rootful and rootless Podman containers. For more information, see the Podman documentation.

By default, Podman metrics are collected every 5 seconds. You can change the interval by editing the agent configuration file <agent_install_dir>/etc/instana/configuration.yml:

com.instana.plugin.podman:
  interval: 5

Viewing Podman metrics

To view the Podman metrics, complete the following steps:

  1. In the sidebar of the Instana UI, select Infrastructure.
  2. Click a specific monitored host.
  3. Click Open dashboard. You can see a host dashboard with all the collected metrics and monitored processes.
  4. From the left panel, expand Podman containers and select a container. You can view all metrics that are related to the Podman container.
  5. To view detailed information about the container that is running, click Get Container Info. You can also run the podman inspect command to display the same information.

Configuration data

Configuration Description
Image The Podman image name.
Command The entry point of the container.
Created At The timestamp when the container is created.
Started At The timestamp where the container is started.
Container ID The container ID.
Name The container name.
Graph Driver The configured graph driver.
Podman version The Podman version that is in use.
Container Labels The labels that are applied to the container.

Performance metrics

You can use the Podman Engine API to get performance metrics. These performance metrics are returned from the /v4.0.0/libpod/containers/{id}/stats?stream=false endpoint. For more information, see the Podman API doc reference.

The following performance metrics are provided:

Metrics Description Value Data source
CPU Total % Total percentage of CPU usage Current measured KPI value The total_usage key that is returned to the cpu_stats object
Memory usage % Total memory usage in percentage Current measured KPI value The quotient of usage and limit keys that are returned to the memory_stats object
CPU Total, kernel, and user metrics and their normalized values in the range [0, 100]% - CPU usage values displayed on a graph over a selected time period
- Throttling count and time values
- The total_usage, system_usage, and user_usage keys that are returned to the cpu_stats object
- The throttling_count and throttling_time keys that are returned to the cpu_stats object
Memory Memory limits and usage Values (in percentage) displayed on a graph over a selected time period The usage, max_usage, and limit keys that are returned to the memory_stats object
Block IO Read and write values Value displayed on a graph over a selected time period The blkio.io_service_bytes key that is returned in the blkio_stats object

Podman rootless container does not provide the metrics for block IO and networking usage metrics. For more information, see Podman stats.

Health signature

Each sensor has a curated knowledge base of health signatures that are evaluated continuously against the incoming metrics. The health signatures are used to raise issues or incidents that depend on user impact. Built-in events trigger issues or incidents based on failing health signatures on entities.

By default, the built-in event health rule for the metrics, such as CPU usage and Memory usage, is activated as soon as the Podman sensor is activated for the container.

Troubleshooting

If Podman is missing from the Infrastructure map, and you encounter an error message similar to the following messages in the Instana agent logs, check if the podman.sock file is present and accessible. The podman.sock file is necessary for the sensor to query Docker API commands and fetch Podman-related data.

Error while executing API GET /v4.0.0/libpod/containers/528ddba5090a9ef16091ef4805865a034386f58bbc715b203d92137e469e8dd9/json HTTP/1.0
, {}
java.net.SocketException: No such file or directory
Error while extracting information {}
java.io.IOException: Error from podman: HTTP/1.0 404 Not Found
podman command/socket not available, using endpoint: GET /v4.0.0/containers/32f72c7b2742aee5ed46a5498a91341e9bc58fdabacced1bff707fe2e6650ff8/stats?stream=false HTTP/1.0

For more information on how to enable a Podman socket, see Configuring Podman.