Platform metrics reference
This page expands on the node_exporter and process_exporter sections of Exporters with Platform-specific PromQL expressions, alert thresholds, and troubleshooting guidance for CPU, memory, and disk usage at both the system/container level and the individual process level.
The thresholds on this page are Itential’s recommended starting point. The alerting mechanism itself, and whether you adopt these exact thresholds, is up to you and your existing on-call tooling.
System or container CPU usage
CPU utilization across Platform nodes or containers, normalized to a percentage. High usage can come from resource-intensive processes, inefficient application code, a CPU-bound workload, context switching overhead, or another process competing for the same CPU. Sustained high CPU causes increased response latency, request queuing, thread pool starvation, and degraded throughput, and can cascade to dependent services.
PromQL:
Identify the top CPU consumers with process-level metrics, analyze thread dumps for blocked or spinning threads, check for CPU throttling in containerized environments, and evaluate whether autoscaling policy adjustments or vertical scaling are the right response.
System or container memory usage
Memory utilization across Platform nodes or containers, as a percentage of available memory. High usage can indicate a memory leak, an inefficient data structure, an undersized heap, or general cache bloat. Sustained high memory increases garbage collection frequency and pause times, and can lead to out-of-memory errors, container eviction in Kubernetes, or swap usage that degrades performance dramatically.
PromQL:
Analyze heap dumps for a memory leak, review garbage collection logs, tune runtime memory parameters (heap size, GC algorithm), and confirm the configured memory limit is appropriate for the workload before scaling vertically.
System or container disk usage
Disk space utilization across Platform nodes or containers. High usage typically comes from uncontrolled log growth, database bloat, a missing log rotation policy, or backup retention that’s grown beyond plan. Sustained high disk usage can crash an application unable to write data, break logging (an observability gap right when you need it most), and fail deployments that need disk space for new artifacts.
PromQL:
Identify large files and directories, fix or implement log rotation, clean up old logs and temporary files, and archive or delete old backups ahead of expanding the volume.
Per-node process CPU usage
CPU utilization of an individual process on a node, normalized relative to total system CPU capacity. This is what distinguishes “the host is under load” from “this specific process is the reason.” High process-level CPU can come from an inefficient algorithm, a tight loop without a sleep or yield, thread contention or lock spinning, or a bug causing an infinite loop.
PromQL:
Profile the specific process to find hot code paths, review recent code changes, and check for debug logging left enabled in production before deciding between a restart, a code fix, or scaling out.
Per-node process memory usage
Memory consumption of an individual process, in bytes or as a percentage of allocated memory. High or steadily growing process memory can indicate a memory leak, unbounded cache growth, a retained reference chain preventing garbage collection, or connection pool bloat.
PromQL:
Analyze the process’s heap and memory maps for a leak, review object retention and reference chains, check for unclosed resources or connection leaks, and set appropriate memory requests and limits in Kubernetes so a single process can’t starve its neighbors.