System Metrics
Probestyx collects a comprehensive set of system metrics out-of-the-box. This page documents all available system metrics.
Enabling System Metrics
Add metrics to your config.yaml:
system:
enabled: true
metrics:
- cpu_usage_percent
- ram_usage_percent
- disk_usage_percentCPU Metrics
cpu_usage_percent
Overall CPU utilization across all cores.
- Type: Float
- Unit: Percentage (0-100)
- Example:
45.2 - Use case: Monitor overall CPU load
metrics:
- cpu_usage_percentcpu_usage_per_core
CPU utilization for each core individually.
- Type: Array of floats
- Unit: Percentage per core (0-100)
- Example:
[42.1, 38.5, 51.3, 44.7] - Use case: Identify if specific cores are bottlenecked
metrics:
- cpu_usage_per_corecpu_count
Number of logical CPU cores (includes hyperthreading).
- Type: Integer
- Unit: Count
- Example:
8 - Use case: Normalize CPU metrics, capacity planning
metrics:
- cpu_countcpu_count_physical
Number of physical CPU cores (excludes hyperthreading).
- Type: Integer
- Unit: Count
- Example:
4 - Use case: Understanding actual hardware capacity
metrics:
- cpu_count_physicalcpu_load_1min
System load average over 1 minute.
- Type: Float
- Unit: Load
- Example:
2.5 - Use case: Short-term load monitoring
- Note: Values > cpu_count indicate overload
metrics:
- cpu_load_1mincpu_load_5min
System load average over 5 minutes.
- Type: Float
- Unit: Load
- Example:
1.8 - Use case: Medium-term load trends
metrics:
- cpu_load_5mincpu_load_15min
System load average over 15 minutes.
- Type: Float
- Unit: Load
- Example:
1.2 - Use case: Long-term load trends, baseline monitoring
metrics:
- cpu_load_15minMemory Metrics
ram_usage_percent
RAM utilization as a percentage of total memory.
- Type: Float
- Unit: Percentage (0-100)
- Example:
67.8 - Use case: Monitor memory pressure
metrics:
- ram_usage_percentavailable_ram_mb
Amount of RAM available for applications.
- Type: Float
- Unit: Megabytes
- Example:
8192.5 - Use case: Check if system has free memory
metrics:
- available_ram_mbtotal_ram_mb
Total installed RAM.
- Type: Float
- Unit: Megabytes
- Example:
16384.0 - Use case: Capacity planning, normalization
metrics:
- total_ram_mbram_cached_mb
RAM used for file system cache.
- Type: Float
- Unit: Megabytes
- Example:
4096.2 - Use case: Understanding memory usage breakdown
metrics:
- ram_cached_mbram_buffers_mb
RAM used for buffers.
- Type: Float
- Unit: Megabytes
- Example:
512.8 - Use case: Low-level memory analysis
metrics:
- ram_buffers_mbswap_usage_percent
Swap space utilization.
- Type: Float
- Unit: Percentage (0-100)
- Example:
15.3 - Use case: Detect memory pressure (high swap = problem)
metrics:
- swap_usage_percentswap_total_mb
Total swap space configured.
- Type: Float
- Unit: Megabytes
- Example:
8192.0 - Use case: Capacity planning
metrics:
- swap_total_mbswap_used_mb
Amount of swap currently in use.
- Type: Float
- Unit: Megabytes
- Example:
1024.5 - Use case: Monitor swap usage trends
metrics:
- swap_used_mbDisk Metrics
disk_usage_percent
Disk space utilization for the root filesystem.
- Type: Float
- Unit: Percentage (0-100)
- Example:
52.3 - Use case: Monitor disk space, trigger cleanup
metrics:
- disk_usage_percentavailable_disk_gb
Available disk space on root filesystem.
- Type: Float
- Unit: Gigabytes
- Example:
128.5 - Use case: Check remaining capacity
metrics:
- available_disk_gbtotal_disk_gb
Total disk capacity of root filesystem.
- Type: Float
- Unit: Gigabytes
- Example:
256.0 - Use case: Capacity planning
metrics:
- total_disk_gbinode_usage_percent
Percentage of inodes used on root filesystem.
- Type: Float
- Unit: Percentage (0-100)
- Example:
12.5 - Use case: Detect filesystem limits (many small files)
metrics:
- inode_usage_percentdisk_read_bytes
Cumulative bytes read from disk since boot.
- Type: Integer
- Unit: Bytes
- Example:
1073741824000 - Use case: Calculate read rates over time
metrics:
- disk_read_bytesdisk_write_bytes
Cumulative bytes written to disk since boot.
- Type: Integer
- Unit: Bytes
- Example:
536870912000 - Use case: Calculate write rates over time
metrics:
- disk_write_bytesdisk_read_bytes_per_sec
Current disk read rate.
- Type: Float
- Unit: Bytes per second
- Example:
1048576.0 - Use case: Monitor disk I/O performance
metrics:
- disk_read_bytes_per_secdisk_write_bytes_per_sec
Current disk write rate.
- Type: Float
- Unit: Bytes per second
- Example:
524288.0 - Use case: Monitor disk I/O performance
metrics:
- disk_write_bytes_per_secdisk_read_count
Cumulative read operations since boot.
- Type: Integer
- Unit: Count
- Example:
1500000 - Use case: Calculate IOPS over time
metrics:
- disk_read_countdisk_write_count
Cumulative write operations since boot.
- Type: Integer
- Unit: Count
- Example:
800000 - Use case: Calculate IOPS over time
metrics:
- disk_write_countNetwork Metrics
network_bytes_sent
Cumulative bytes sent across all interfaces since boot.
- Type: Integer
- Unit: Bytes
- Example:
10737418240 - Use case: Calculate send rates over time
metrics:
- network_bytes_sentnetwork_bytes_recv
Cumulative bytes received across all interfaces since boot.
- Type: Integer
- Unit: Bytes
- Example:
21474836480 - Use case: Calculate receive rates over time
metrics:
- network_bytes_recvnetwork_bytes_sent_per_sec
Current network send rate.
- Type: Float
- Unit: Bytes per second
- Example:
102400.0 - Use case: Monitor bandwidth usage
metrics:
- network_bytes_sent_per_secnetwork_bytes_recv_per_sec
Current network receive rate.
- Type: Float
- Unit: Bytes per second
- Example:
204800.0 - Use case: Monitor bandwidth usage
metrics:
- network_bytes_recv_per_secnetwork_packets_sent
Cumulative packets sent across all interfaces.
- Type: Integer
- Unit: Count
- Example:
5000000 - Use case: Calculate packet rates
metrics:
- network_packets_sentnetwork_packets_recv
Cumulative packets received across all interfaces.
- Type: Integer
- Unit: Count
- Example:
7500000 - Use case: Calculate packet rates
metrics:
- network_packets_recvnetwork_errors_in
Cumulative inbound network errors.
- Type: Integer
- Unit: Count
- Example:
12 - Use case: Monitor network health
metrics:
- network_errors_innetwork_errors_out
Cumulative outbound network errors.
- Type: Integer
- Unit: Count
- Example:
5 - Use case: Monitor network health
metrics:
- network_errors_outactive_connections
Number of active TCP connections.
- Type: Integer
- Unit: Count
- Example:
42 - Use case: Monitor connection usage, detect connection leaks
metrics:
- active_connectionsSystem Information
system_uptime_seconds
Time since system boot.
- Type: Integer
- Unit: Seconds
- Example:
86400 - Use case: Track system restarts, uptime monitoring
metrics:
- system_uptime_secondsboot_time_unix
System boot time as Unix timestamp.
- Type: Integer
- Unit: Unix timestamp
- Example:
1704067200 - Use case: Calculate uptime, track reboots
metrics:
- boot_time_unixos_platform
Operating system platform.
- Type: String
- Example:
"linux","darwin","windows" - Use case: System inventory, OS-specific logic
metrics:
- os_platformos_version
Operating system version.
- Type: String
- Example:
"Ubuntu 22.04.3 LTS" - Use case: System inventory, version tracking
metrics:
- os_versionhostname
System hostname.
- Type: String
- Example:
"web-server-01" - Use case: Identify which server metrics come from
metrics:
- hostnamekernel_version
Kernel version string.
- Type: String
- Example:
"5.15.0-91-generic" - Use case: System inventory, compatibility checking
metrics:
- kernel_versionprocess_count
Number of running processes.
- Type: Integer
- Unit: Count
- Example:
156 - Use case: Monitor system load, detect process leaks
metrics:
- process_countCommon Metric Combinations
Basic Monitoring
Essential metrics for general server monitoring:
system:
enabled: true
metrics:
- cpu_usage_percent
- ram_usage_percent
- disk_usage_percent
- network_bytes_sent_per_sec
- network_bytes_recv_per_sec
- system_uptime_secondsPerformance Monitoring
Detailed metrics for performance analysis:
system:
enabled: true
metrics:
- cpu_usage_percent
- cpu_usage_per_core
- cpu_load_1min
- cpu_load_5min
- ram_usage_percent
- available_ram_mb
- disk_read_bytes_per_sec
- disk_write_bytes_per_sec
- network_bytes_sent_per_sec
- network_bytes_recv_per_secCapacity Planning
Metrics for capacity and resource planning:
system:
enabled: true
metrics:
- cpu_count
- total_ram_mb
- total_disk_gb
- available_disk_gb
- disk_usage_percent
- ram_usage_percentTroubleshooting
Metrics useful for diagnosing issues:
system:
enabled: true
metrics:
- cpu_usage_percent
- cpu_load_1min
- ram_usage_percent
- swap_usage_percent
- disk_usage_percent
- inode_usage_percent
- network_errors_in
- network_errors_out
- active_connections
- process_countMinimal Footprint
Only the most essential metrics:
system:
enabled: true
metrics:
- cpu_usage_percent
- ram_usage_percent
- disk_usage_percentUnderstanding Metric Values
CPU Load
CPU load averages represent the number of processes waiting for CPU time:
- Load < CPU count: System is healthy
- Load = CPU count: System is at capacity
- Load > CPU count: System is overloaded
Example with 4 cores:
- Load of 2.0: Good (50% capacity)
- Load of 4.0: At capacity
- Load of 8.0: Overloaded (2x capacity)
Memory Usage
High memory usage isn't always bad (caching), but watch for:
- High RAM usage + high swap: Memory pressure
- Rapidly growing memory: Potential leak
- Low available RAM: May need more memory
Disk I/O
Rate metrics show current activity:
- Spikes are normal
- Sustained high rates may indicate bottleneck
- Compare with application workload
Network
- Monitor trends over time
- High error counts indicate problems
- Correlate with application traffic patterns
Platform Differences
Some metrics behave differently across platforms:
| Metric | Linux | macOS | Windows |
|---|---|---|---|
cpu_load_* | ✅ Full support | ✅ Full support | ⚠️ Limited |
ram_buffers_mb | ✅ Available | ❌ Not applicable | ❌ Not applicable |
inode_usage_percent | ✅ Available | ✅ Available | ❌ Not applicable |
| All other metrics | ✅ Full support | ✅ Full support | ✅ Full support |
Next Steps
- Configuration - Learn how to configure metrics
- Custom Metrics - Add your own custom metrics
- Integration - Send metrics to Logstyx