Skip to main content

Windows Storage Spaces (WMI)

Description

This connector enables the monitoring of physical disks through the Windows Storage Management's WMI provider. It supports all disk types, including disks on NVMe bus and NVDIMM. When available, temperature sensors are also discovered and monitored.

hardware windows

Supersedes

This connector supersedes:

Target

Typical platform: Microsoft Windows

Operating system: Microsoft Windows

Prerequisites

Leverages: Windows Storage Spaces

Technology and protocols: WMI

Examples

CLI

metricshub HOSTNAME -t win -c +WinStorageSpaces --wmi -u USER

metricshub.yaml

resourceGroups:
<RESOURCE_GROUP>:
resources:
<HOSTNAME-ID>:
attributes:
host.name: <HOSTNAME> # Change with actual host name
host.type: win
connectors: [ +WinStorageSpaces ] # Optional, to load only this connector
protocols:
wmi:
username: <USERNAME> # Change with actual credentials
password: <PASSWORD> # Encrypted using metricshub-encrypt

Connector Activation Criteria

The Windows Storage Spaces (WMI) connector will be automatically activated, and its status will be reported as OK if all the below criteria are met:

  • The device type must be one of: NT
  • The WMI query below succeeds:
    • Namespace: root\Microsoft\Windows\Storage
    • Query: SELECT ObjectId FROM MSFT_Volume

Metrics

TypeCollected MetricsSpecific Attributes
disk_controllerhw.status{hw.type="disk_controller", state="present"}hw.parent.type
id
model
name
logical_diskhw.logical_disk.limit
hw.logical_disk.usage{state="free"}
hw.logical_disk.usage{state="used"}
hw.status{hw.type="logical_disk", state="degraded|failed|ok"}
hw.parent.type
id
info
name
type
physical_diskhw.errors{hw.type="physical_disk"}
hw.physical_disk.endurance_utilization{state="remaining"}
hw.physical_disk.size
hw.status{hw.type="physical_disk", state="degraded|failed|ok"}
hw.status{hw.type="physical_disk", state="predicted_failure"}
hw.status{hw.type="physical_disk", state="present"}
firmware_version
hw.parent.id
hw.parent.type
id
name
serial_number
vendor
temperaturehw.status{hw.type="temperature", state="present"}
hw.temperature
hw.temperature.limit{limit_type="high.critical"}
hw.temperature.limit{limit_type="high.degraded"}
hw.parent.type
id
name
sensor_location