mirror of
https://github.com/prometheus-community/windows_exporter.git
synced 2026-03-10 20:46:37 +00:00
mscluster: Add virtual disk metrics sub-collector (#2296)
Signed-off-by: Dominik Eisenberg <d.business@outlook.de> Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de> Signed-off-by: EisenbergD <dominik.eisenberg@beiersdorf.com> Co-authored-by: Jan-Otto Kröpke <mail@jkroepke.de> Co-authored-by: EisenbergD <dominik.eisenberg@beiersdorf.com>
This commit is contained in:
committed by
GitHub
parent
78395afc67
commit
56c29a6280
@@ -39,6 +39,7 @@ const (
|
||||
subCollectorResource = "resource"
|
||||
subCollectorResourceGroup = "resourcegroup"
|
||||
subCollectorSharedVolumes = "shared_volumes"
|
||||
subCollectorVirtualDisk = "virtualdisk"
|
||||
)
|
||||
|
||||
type Config struct {
|
||||
@@ -54,6 +55,7 @@ var ConfigDefaults = Config{
|
||||
subCollectorResource,
|
||||
subCollectorResourceGroup,
|
||||
subCollectorSharedVolumes,
|
||||
subCollectorVirtualDisk,
|
||||
},
|
||||
}
|
||||
|
||||
@@ -65,6 +67,7 @@ type Collector struct {
|
||||
collectorResource
|
||||
collectorResourceGroup
|
||||
collectorSharedVolumes
|
||||
collectorVirtualDisk
|
||||
|
||||
config Config
|
||||
miSession *mi.Session
|
||||
@@ -165,6 +168,12 @@ func (c *Collector) Build(_ *slog.Logger, miSession *mi.Session) error {
|
||||
}
|
||||
}
|
||||
|
||||
if slices.Contains(c.config.CollectorsEnabled, subCollectorVirtualDisk) {
|
||||
if err := c.buildVirtualDisk(); err != nil {
|
||||
errs = append(errs, fmt.Errorf("failed to build virtualdisk collector: %w", err))
|
||||
}
|
||||
}
|
||||
|
||||
return errors.Join(errs...)
|
||||
}
|
||||
|
||||
@@ -243,6 +252,12 @@ func (c *Collector) Collect(ch chan<- prometheus.Metric) error {
|
||||
errCh <- fmt.Errorf("failed to collect shared_volumes metrics: %w", err)
|
||||
}
|
||||
}
|
||||
|
||||
if slices.Contains(c.config.CollectorsEnabled, subCollectorVirtualDisk) {
|
||||
if err := c.collectVirtualDisk(ch); err != nil {
|
||||
errCh <- fmt.Errorf("failed to collect virtualdisk metrics: %w", err)
|
||||
}
|
||||
}
|
||||
}()
|
||||
|
||||
wg.Wait()
|
||||
|
||||
Reference in New Issue
Block a user