Monitoring Podman (public preview)

Instana automatically discovers and monitors Podman containers to provide you with real-time insights into metadata (labels), metrics, and any supported technologies that are running within each discovered container. After you install the Instana agent, the Podman sensor is automatically deployed and configured. You can view metrics that are related to Podman in the Instana UI.

Prerequisites

The Podman sensor requires access to the podman.sock socket to fetch data from Podman. You must ensure that the socket is started and exists in the correct path.

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

To enable the socket file on an RHEL system, run the following command:

systemctl enable --now podman.socket

Supported information

Supported OS

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 Podman versions

The Podman sensor supports all versions that are less than or equal to Podman 4.x.

Supported Instana versions

Monitoring Podman is supported as a public preview feature in Instana SaaS 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.

Configuring the Podman sensor

After you install the Instana host agent, the Podman sensor does not need any configuration. It automatically detects your Podman containers and collects the following data from the installation:

  • Configuration data
  • Performance metrics
  • Health signatures

Instana requires the Podman containers to run with root privileges (rootful mode) for monitoring Podman containers. For more information, see the Podman documentation.

Viewing 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 currently running, click Get Container Info. You can also run the podman inspect command to display the same information.

Configuring metrics interval

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

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. 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.

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 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 if an error message similar to one of the following messages appears in the Instana agent logs, then the podman.sock file is missing or the file is moved to another location, which is not reachable by the agent. The podman.sock file responds to the Docker API commands, which the sensor queries to fetch data that is related to Podman.

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 Prerequisites.