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:
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:
- In the sidebar of the Instana UI, select Infrastructure.
- Click a specific monitored host.
- Click Open dashboard. You can see a host dashboard with all the collected metrics and monitored processes.
- From the left panel, expand Podman containers and select a container. You can view all metrics that are related to the Podman container.
- 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.