diff --git a/metrics/pve_cluster_state_collector.go b/metrics/pve_cluster_state_collector.go index b752925..f11c86b 100644 --- a/metrics/pve_cluster_state_collector.go +++ b/metrics/pve_cluster_state_collector.go @@ -46,6 +46,9 @@ func (c *PveClusterStateCollector) CollectMetrics() error { return err } + c.nodes.Reset() + c.quorate.Reset() + l := prometheus.Labels{"cluster": cluster.Name} c.nodes.With(l).Set(float64(cluster.Nodes)) c.quorate.With(l).Set(float64(cluster.Quorate)) diff --git a/metrics/pve_node_container_collector.go b/metrics/pve_node_container_collector.go index 1912836..b18b8ed 100644 --- a/metrics/pve_node_container_collector.go +++ b/metrics/pve_node_container_collector.go @@ -161,6 +161,20 @@ func (c *PveContainerCollector) CollectMetrics() error { return err } + c.state.Reset() + c.cpu.Reset() + c.memBytes.Reset() + c.diskMax.Reset() + c.uptime.Reset() + c.cpuUsage.Reset() + c.memBytesUsed.Reset() + c.netReceive.Reset() + c.netTransmit.Reset() + c.diskRead.Reset() + c.diskWrite.Reset() + c.disk.Reset() + c.swap.Reset() + for _, node := range cluster.NodeStatuses { containers, err := c.apiClient.GetNodeContainerList(node.Name) if err != nil { diff --git a/metrics/pve_node_disk_collector.go b/metrics/pve_node_disk_collector.go index 4856697..ab1d199 100644 --- a/metrics/pve_node_disk_collector.go +++ b/metrics/pve_node_disk_collector.go @@ -59,6 +59,10 @@ func (c *PveNodeDiskCollector) CollectMetrics() error { return err } + c.healthy.Reset() + c.wearout.Reset() + c.sizeBytes.Reset() + for _, node := range cluster.NodeStatuses { disks, err := c.apiClient.GetNodeDisksList(node.Name) if err != nil { diff --git a/metrics/pve_node_sdn_collector.go b/metrics/pve_node_sdn_collector.go index b14ee22..862211d 100644 --- a/metrics/pve_node_sdn_collector.go +++ b/metrics/pve_node_sdn_collector.go @@ -41,6 +41,8 @@ func (c *PveSdnCollector) CollectMetrics() error { return err } + c.state.Reset() + for _, node := range cluster.NodeStatuses { sdns := resources.FindNodeSDN(node.Name) if len(*sdns) > 0 { diff --git a/metrics/pve_node_status_collector.go b/metrics/pve_node_status_collector.go index f4d283a..6d72aa9 100644 --- a/metrics/pve_node_status_collector.go +++ b/metrics/pve_node_status_collector.go @@ -229,6 +229,27 @@ func (c *PveNodeStatusCollector) CollectMetrics() error { return err } + c.state.Reset() + c.uptime.Reset() + c.cpus.Reset() + c.cpuUsage.Reset() + c.memBytes.Reset() + c.memBytesUsed.Reset() + c.memBytesFree.Reset() + c.ksmShared.Reset() + c.cgroupMode.Reset() + c.load1.Reset() + c.load5.Reset() + c.load15.Reset() + c.fSFree.Reset() + c.fSUsed.Reset() + c.fSTotal.Reset() + c.fSAvail.Reset() + c.cpuInfo.Reset() + c.systemInfo.Reset() + c.time.Reset() + c.localTime.Reset() + for _, node := range cluster.NodeStatuses { labels := prometheus.Labels{ "cluster": cluster.GetClusterName(), diff --git a/metrics/pve_node_storage_collector.go b/metrics/pve_node_storage_collector.go index b1779db..5ef4eff 100644 --- a/metrics/pve_node_storage_collector.go +++ b/metrics/pve_node_storage_collector.go @@ -68,6 +68,11 @@ func (c *PveStorageCollector) CollectMetrics() error { return err } + c.state.Reset() + c.total.Reset() + c.avail.Reset() + c.used.Reset() + for _, node := range cluster.NodeStatuses { storages, err := c.apiClient.GetNodeStorages(node.Name) if err != nil { diff --git a/metrics/pve_node_subscription_collector.go b/metrics/pve_node_subscription_collector.go index 64f100f..92892e7 100644 --- a/metrics/pve_node_subscription_collector.go +++ b/metrics/pve_node_subscription_collector.go @@ -78,6 +78,12 @@ func (c *PveSubscriptionCollector) CollectMetrics() error { return err } + c.info.Reset() + c.status.Reset() + c.nextDueDate.Reset() + c.regDate.Reset() + c.sockets.Reset() + for _, node := range cluster.NodeStatuses { labels := prometheus.Labels{ "cluster": cluster.GetClusterName(), diff --git a/metrics/pve_node_virtual_machine_collector.go b/metrics/pve_node_virtual_machine_collector.go index c4eacb0..da4e27e 100644 --- a/metrics/pve_node_virtual_machine_collector.go +++ b/metrics/pve_node_virtual_machine_collector.go @@ -228,6 +228,24 @@ func (c *PveVirtualMachineCollector) CollectMetrics() error { return err } + c.state.Reset() + c.cpu.Reset() + c.memBytes.Reset() + c.diskMax.Reset() + c.uptime.Reset() + c.cpuUsage.Reset() + c.memBytesUsed.Reset() + c.netReceive.Reset() + c.netTransmit.Reset() + c.diskReadOps.Reset() + c.diskWriteOps.Reset() + c.diskReadBytes.Reset() + c.diskWriteBytes.Reset() + c.diskFailedReadOps.Reset() + c.diskFailedWriteOps.Reset() + c.diskReadTimeNs.Reset() + c.diskWriteTimeNs.Reset() + for _, node := range cluster.NodeStatuses { qemus, err := c.apiClient.GetNodeQemuList(node.Name) if err != nil {