From 58f48d177c7ef3ce5c10964f60845580341848ca Mon Sep 17 00:00:00 2001 From: Finomosec Date: Wed, 1 May 2024 11:51:47 +0200 Subject: [PATCH] added node_md_sync_minutes_remaining, node_md_blocks_synced_speed and node_md_blocks_synced_pct Signed-off-by: Finomosec --- collector/mdadm_linux.go | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/collector/mdadm_linux.go b/collector/mdadm_linux.go index 8e6d2fb5..bcccd377 100644 --- a/collector/mdadm_linux.go +++ b/collector/mdadm_linux.go @@ -99,6 +99,24 @@ var ( []string{"device"}, nil, ) + blocksSyncedPctDesc = prometheus.NewDesc( + prometheus.BuildFQName(namespace, "md", "blocks_synced_pct"), + "Percentage of blocks synced on device.", + []string{"device"}, + nil, + ) + syncMinutesRemainingDesc = prometheus.NewDesc( + prometheus.BuildFQName(namespace, "md", "sync_minutes_remaining"), + "Estimated finishing time for current sync in minutes.", + []string{"device"}, + nil, + ) + blockSyncedSpeedDesc = prometheus.NewDesc( + prometheus.BuildFQName(namespace, "md", "blocks_synced_speed"), + "current sync speed (in Kilobytes/sec)", + []string{"device"}, + nil, + ) ) func (c *mdadmCollector) Update(ch chan<- prometheus.Metric) error { @@ -206,6 +224,25 @@ func (c *mdadmCollector) Update(ch chan<- prometheus.Metric) error { float64(mdStat.BlocksSynced), mdStat.Name, ) + ch <- prometheus.MustNewConstMetric( + blocksSyncedPctDesc, + prometheus.GaugeValue, + float64(mdStat.BlocksSyncedPct), + mdStat.Name, + ) + ch <- prometheus.MustNewConstMetric( + syncMinutesRemainingDesc, + prometheus.GaugeValue, + float64(mdStat.BlocksSyncedFinishTime), + mdStat.Name, + ) + ch <- prometheus.MustNewConstMetric( + blockSyncedSpeedDesc, + prometheus.GaugeValue, + float64(mdStat.BlocksSyncedSpeed), + mdStat.Name, + ) + } return nil