Werk #18724: Introduced Podman Monitoring
| Component | Checks & agents | ||
| Title | Introduced Podman Monitoring | ||
| Date | Oct 20, 2025 | ||
| Level | Trivial Change | ||
| Class | New Feature | ||
| Compatibility | Compatible - no manual interaction needed | ||
| Checkmk versions & editions |
|
This werk introduces monitoring support for Podman containers and pods. The new monitoring includes both host-level and per-container services.
Host-level Services
The following services are created on the Podman host:
- Podman containers: Monitors the total number of containers in different states (running, stopped, dead, etc.) with configurable thresholds
- Podman pods: Monitors the total number of pods in different states (running, created, stopped, dead, exited) with configurable thresholds
- Podman disk usage: Monitors disk space usage for containers, images, and volumes with size-based thresholds
- Podman status: Reports any errors encountered when querying the Podman API
Per-container Services (Piggyback)
Each container is monitored as a separate piggyback host with the following services:
- Status: Monitors the operational state of the container (running, stopped, etc.) with configurable state mappings
- Health: Monitors container health check status when health checks are configured
- Restarts: Tracks container restart count with rate-based alerting
- CPU utilization: Monitors container CPU usage percentage
- Memory: Monitors container memory usage with percentage and absolute thresholds
- Container IO: Monitors disk I/O operations (read/write operations per second)
- Uptime: Tracks how long the container has been running
Inventory Information
The monitoring also provides inventory data for:
- Podman engine: Version, API version, rootless mode, registries, and hostname
- Per-container details: Hostname, labels, network configuration (IP, gateway, MAC address)
Configuration
Podman monitoring is configured via the "Podman Monitoring" agent rule.
The monitoring supports:
- Automatic socket detection for both root and user Podman instances
- Manual socket path specification for custom configurations
Prerequisites
- Python 3.9 or newer must be available on the monitored host
- Python package requests_unixsocket must be installed (required for communicating with Podman’s UNIX socket)