Metrics
Every metric starts with cv4pve_. The pages of this section list each one with its type, labels,
unit and meaning, grouped by what it describes. This page explains the conventions they share and
indexes them all.
Conventions
Section titled “Conventions”The id label
Section titled “The id label”Guests, storages and nodes are identified by the id label, which is the resource ID used by Proxmox VE
itself:
| Resource | id |
|---|---|
| Node | node/pve01 |
| VM | qemu/100 |
| Container | lxc/101 |
| Storage | storage/pve01/local-zfs, one per node, also for a shared storage |
Cluster (only in cv4pve_up) |
cluster/pve-cluster |
Per-node metrics use a node label with the node name instead.
Info metrics
Section titled “Info metrics”Names, tags, versions and other text are not repeated on every series: they are labels of an
…_info metric whose value is always 1: cv4pve_guest_info, cv4pve_node_info,
cv4pve_storage_info, cv4pve_node_version_info, cv4pve_node_subscription_info, cv4pve_cluster_info.
Join them in a query to add the label you need:
# Memory used by each guest, with its name and nodecv4pve_guest_memory_usage_bytes * on (id) group_left (name, node) cv4pve_guest_infoState metrics
Section titled “State metrics”A state with a fixed set of values (a guest lock, an HA state, a subscription status) is exported as
one series per possible value, with a state (or status) label, and value 1 for the current state
and 0 for the others. The alert is then a plain comparison, and a guest that stays locked keeps the
same series:
cv4pve_guest_lock{state="backup"} == 1Units and types
Section titled “Units and types”- Sizes are in bytes, durations in seconds, points in time are Unix timestamps in seconds.
…_ratiometrics go from0to1.- Metrics ending in
_totalare counters: use them withrate()orincrease(). A counter goes back to zero when Proxmox VE resets it (a guest restarted or migrated) or when the exporter restarts; Prometheus handles both. - Everything else is a gauge, except
cv4pve_api_request_duration_seconds, a histogram.
Always on, or turned on by a setting
Section titled “Always on, or turned on by a setting”The metrics built from the two cluster-wide calls, /cluster/status and /cluster/resources, are
always exported. The others come from a collector, turned on and cached by a
setting. A collector that is off exports no series at all.
All metrics
Section titled “All metrics”| Metric | Type | Setting | Page |
|---|---|---|---|
cv4pve_up |
gauge | always | Cluster and nodes |
cv4pve_cluster_info |
gauge | always | Cluster and nodes |
cv4pve_cluster_quorate |
gauge | always | Cluster and nodes |
cv4pve_cluster_nodes |
gauge | always | Cluster and nodes |
cv4pve_node_info |
gauge | always | Cluster and nodes |
cv4pve_node_uptime_seconds, cv4pve_node_load_avg1/5/15, cv4pve_node_memory_used_bytes, cv4pve_node_memory_total_bytes, cv4pve_node_swap_used_bytes, cv4pve_node_swap_total_bytes, cv4pve_node_root_fs_used_bytes, cv4pve_node_root_fs_total_bytes |
gauge | Node.Status |
Cluster and nodes |
cv4pve_node_cpu_assigned_cores, cv4pve_node_memory_assigned_bytes |
gauge | Node.Status |
Cluster and nodes |
cv4pve_node_version_info |
gauge | Node.Status |
Cluster and nodes |
cv4pve_node_subscription_info, cv4pve_node_subscription_status, cv4pve_node_subscription_next_due_timestamp_seconds |
gauge | Node.Subscription |
Cluster and nodes |
cv4pve_node_disk_health, cv4pve_node_disk_wearout |
gauge | Node.DiskSmart |
Cluster and nodes |
cv4pve_guest_info, cv4pve_guest_lock |
gauge | always | Guests |
cv4pve_guest_cpu_usage_ratio, cv4pve_guest_cpu_cores, cv4pve_guest_memory_size_bytes, cv4pve_guest_memory_usage_bytes, cv4pve_guest_memory_host_ratio, cv4pve_guest_disk_size_bytes, cv4pve_guest_disk_usage_bytes, cv4pve_guest_uptime_seconds |
gauge | always | Guests |
cv4pve_guest_disk_read_bytes_total, cv4pve_guest_disk_write_bytes_total, cv4pve_guest_network_receive_bytes_total, cv4pve_guest_network_transmit_bytes_total |
counter | always | Guests |
cv4pve_guest_balloon_actual_bytes |
gauge | Guest.Balloon |
Guests |
cv4pve_storage_info, cv4pve_storage_shared, cv4pve_storage_size_bytes, cv4pve_storage_usage_bytes |
gauge | always | Storage |
cv4pve_ha_state, cv4pve_ha_node_state, cv4pve_ha_quorate |
gauge | Cluster.Ha |
HA |
cv4pve_replication_duration_seconds, cv4pve_replication_last_sync_timestamp_seconds, cv4pve_replication_next_sync_timestamp_seconds, cv4pve_replication_fail_count |
gauge | Node.Replication |
Replication and backup |
cv4pve_not_backed_up_info, cv4pve_guests_not_backed_up |
gauge | Cluster.BackupInfo |
Replication and backup |
cv4pve_scrape_duration_seconds, cv4pve_scrape_last_success_timestamp_seconds |
gauge | always | Exporter |
cv4pve_scrape_errors_total |
counter | always | Exporter |
cv4pve_api_request_duration_seconds |
histogram | ApiInstrumentation |
Exporter |
cv4pve_api_request_errors_total |
counter | ApiInstrumentation |
Exporter |