Files
lostakj 60bdd83d06
Build Docker image on push / docker (push) Successful in 21s
Updated docs
2026-08-24 19:16:38 +02:00

9.7 KiB

Metrics Reference

All exporter-specific metric names start with pve_. The Go Prometheus client also exposes its standard go_*, process_*, and HTTP handler metrics.

Metric names follow the Prometheus naming conventions: base units only (seconds, bytes, ratios) and a _total suffix on every metric exported as a counter. Counters hold the absolute value reported by the PVE API and reset when the guest or node restarts, so query them with rate() or increase(). All remaining metrics are gauges.

Common labels and lifecycle

Most resource metrics use these labels:

Label Description
cluster PVE cluster name. A standalone installation uses Standalone node - <node>.
node Proxmox node name.
vmid QEMU VM or LXC container ID.
name Guest name.

Metric label sets are retained for five minutes after their last update and are then removed. Consequently, metrics available only while a guest is running can remain visible for up to five minutes after it stops.

Exporter

Metric Labels Description
pve_metrics_collection_duration_seconds collector Summary of successful collector execution time in seconds.

Cluster state

Enabled with metrics.clusterState. Labels: cluster.

Metric Description
pve_cluster_mode 1 when PVE is configured as a cluster, 0 for a standalone node. A configured one-node cluster still reports 1.
pve_cluster_nodes Number of nodes reported by the cluster status record. Standalone mode reports 0.
pve_cluster_quorate Cluster quorum state: 1 quorate, 0 not quorate or standalone.

Node status

Enabled with metrics.nodeStatus. Unless noted otherwise, labels are cluster and node.

Metric Description
pve_node_state Node online state: 1 online, 0 offline.
pve_node_uptime_seconds Node uptime in seconds.
pve_node_cpus Number of logical CPUs.
pve_node_cpu_usage_ratio CPU usage reported by PVE as a ratio between 0 and 1.
pve_node_memory_total_bytes Total memory in bytes.
pve_node_memory_used_bytes Used memory in bytes.
pve_node_memory_free_bytes Free memory in bytes.
pve_node_ksm_bytes Memory shared by Kernel Same-page Merging in bytes.
pve_node_cgroup_mode PVE cgroup mode.
pve_node_load1 One-minute load average.
pve_node_load5 Five-minute load average.
pve_node_load15 Fifteen-minute load average.
pve_node_rootfs_free_bytes Root filesystem free bytes.
pve_node_rootfs_used_bytes Root filesystem used bytes.
pve_node_rootfs_total_bytes Root filesystem total bytes.
pve_node_rootfs_avail_bytes Root filesystem bytes available to unprivileged processes.
pve_node_time_seconds Node UTC Unix timestamp.
pve_node_localtime_seconds Node local Unix timestamp.
pve_node_cpu_info Constant 1 carrying flags, cores, model, sockets, cpus, and hvm labels.
pve_node_system_info Constant 1 carrying kversion, pveversion, machine, sysname, and release labels.

Physical disks

Enabled with metrics.disk. Labels are cluster, node, wwn, type, model, serial, vendor, used, and osd_id.

Metric Description
pve_node_disk_healthy SMART health state: 1 for OK or PASSED, otherwise 0.
pve_node_disk_wearout_percent Device wearout percentage when supplied by the PVE API.
pve_node_disk_size_bytes Physical disk size in bytes.

ZFS

Enabled with metrics.zfs. The exporter discovers all pools on every node, retrieves each pool detail, and recursively flattens pool, vdev, section, cache, and leaf-device entries.

Labels are cluster, node, pool, component, path, and leaf. component is the current topology entry, path identifies its complete hierarchy, and leaf is true for a device entry.

Metric Description
pve_node_zfs_state Numeric component state: 0=UNKNOWN, 1=ONLINE, 2=DEGRADED, 3=FAULTED, 4=OFFLINE, 5=REMOVED, 6=UNAVAIL.
pve_node_zfs_read_errors_total ZFS read error count reported for the component.
pve_node_zfs_write_errors_total ZFS write error count reported for the component.
pve_node_zfs_checksum_errors_total ZFS checksum error count reported for the component.

ZFS section entries that do not contain a counter do not produce a false zero series. A counter explicitly returned as zero is exported normally.

Example alert expressions:

pve_node_zfs_state != 1
(pve_node_zfs_read_errors_total > 0)
or (pve_node_zfs_write_errors_total > 0)
or (pve_node_zfs_checksum_errors_total > 0)

PVE storage

Enabled with metrics.storage. Disabled storages are skipped. Labels are cluster, node, storage, type, content, and shared.

Metric Description
pve_storage_up Storage active state: 1 active, 0 inactive.
pve_storage_total_bytes Total storage capacity in bytes.
pve_storage_avail_bytes Available storage capacity in bytes.
pve_storage_used_bytes Used storage capacity in bytes.

Node subscriptions

Enabled with metrics.subscription. The common labels are cluster and node; pve_node_subscription_info also has productname and serverid.

Metric Description
pve_node_subscription_info Constant 1 carrying subscription product and server identifiers.
pve_node_subscription_status 0 for API status notfound, 1 for active, 2 for expired or otherwise unusable states such as invalid, suspended, and new.
pve_node_subscription_registration_timestamp_seconds Subscription registration date as a Unix timestamp, when available.
pve_node_subscription_next_due_timestamp_seconds Next due date as a Unix timestamp, when available.
pve_node_subscription_sockets Number of covered sockets reported by PVE.

The PVE API cannot distinguish a node that never had a subscription from one whose key was removed; both appear as notfound and therefore use value 0.

SDN

Enabled with metrics.sdn. Labels are cluster, node, sdn, and sdn_id.

Metric Description
pve_sdn_state 1 when the SDN resource status is ok, otherwise 0.

PVE 8 reports SDN zones as sdn cluster resources, PVE 9 reports them as network resources (zones and fabrics). Both are exported as pve_sdn_state; the sdn label holds the zone or fabric name and sdn_id the resource ID, which differs between the two formats (sdn/<node>/<zone> versus network/<node>/<network-type>/<name>).

LXC containers

Enabled with metrics.lxc. Templates are skipped. Labels are cluster, node, vmid, and name.

Metric Description
pve_ct_state 1 running, 0 stopped.
pve_ct_uptime_seconds Uptime in seconds; updated only while running.
pve_ct_cpus Configured CPU count.
pve_ct_cpu_usage_ratio CPU usage reported by PVE as a ratio between 0 and 1; updated only while running.
pve_ct_memory_total_bytes Configured memory limit in bytes.
pve_ct_memory_used_bytes Used memory in bytes; updated only while running.
pve_ct_network_receive_bytes_total Received bytes since container start; updated only while running.
pve_ct_network_transmit_bytes_total Transmitted bytes since container start; updated only while running.
pve_ct_disk_read_bytes_total Disk bytes read; updated only while running.
pve_ct_disk_write_bytes_total Disk bytes written; updated only while running.
pve_ct_disk_used_bytes Used root disk bytes; updated only while running.
pve_ct_disk_size_bytes Configured root disk size in bytes.
pve_ct_swap_used_bytes Used swap in bytes; updated only while running.

QEMU virtual machines

Enabled with metrics.qemu. Templates are skipped. Base labels are cluster, node, vmid, and name.

Metric Extra label Description
pve_vm_state none 1 running, 0 stopped.
pve_vm_uptime_seconds none Uptime in seconds; updated only while running.
pve_vm_agent none QEMU guest agent state reported by PVE; updated only while running.
pve_vm_cpus none Configured CPU count.
pve_vm_cpu_usage_ratio none CPU usage reported by PVE as a ratio between 0 and 1; updated only while running.
pve_vm_memory_total_bytes none Configured maximum memory in bytes.
pve_vm_memory_used_bytes none Used memory in bytes; updated only while running.
pve_vm_disk_used_bytes none Root disk usage reported by PVE.
pve_vm_disk_size_bytes none Configured maximum root disk size in bytes.
pve_vm_network_receive_bytes_total interface Bytes received by a virtual interface.
pve_vm_network_transmit_bytes_total interface Bytes transmitted by a virtual interface.
pve_vm_disk_read_operations_total device Successful read operations.
pve_vm_disk_write_operations_total device Successful write operations.
pve_vm_disk_read_bytes_total device Bytes read from the block device.
pve_vm_disk_write_bytes_total device Bytes written to the block device.
pve_vm_disk_failed_read_operations_total device Failed read operations.
pve_vm_disk_failed_write_operations_total device Failed write operations.
pve_vm_disk_read_time_seconds_total device Total block-device read time in seconds.
pve_vm_disk_write_time_seconds_total device Total block-device write time in seconds.

Interface and block-device metrics are collected only for running VMs.