mirror of
https://github.com/prometheus-community/windows_exporter.git
synced 2026-10-18 18:49:05 +02:00
Every optional collector of the mixin now has alerts, generated only with that collector enabled in _config.collectors: clock source, disk drive status, page file usage, license status, scheduled task results, pending updates, Hyper-V WMI and replication health, failover cluster nodes, resources, groups and shared volumes, Storage Spaces pool and virtual disk health, DHCP scope exhaustion and DNS zone transfer failures. The alerts of the pagefile, diskdrive and license collectors join the memory, disk and system groups; the other collectors get a group of their own. New knobs: taskSelector, sharedVolumeSelector, pagefileUsageThreshold, dhcpScopeFreeWarningThreshold, dhcpScopeFreeCriticalThreshold and updatePendingDuration. The test configuration enables every optional collector and tests/optional.test.yaml covers the new alerts. Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
49 lines
2.1 KiB
Markdown
49 lines
2.1 KiB
Markdown
---
|
|
title: WindowsStoragePoolUnhealthy
|
|
---
|
|
|
|
## Meaning
|
|
|
|
The Storage Spaces pool `pool` reports a health status of warning or unhealthy
|
|
for ten minutes. The critical alert fires for unhealthy, the warning for
|
|
warning. The alert needs the `storage_spaces` collector and joins
|
|
`windows_storage_spaces_pool_info` so the primordial pool, which only groups
|
|
the disks that are not in a pool yet, does not raise it. The pool's
|
|
operational status, exposed as `windows_storage_spaces_pool_operational_status`,
|
|
tells why: degraded, read-only, or incomplete. On Storage Spaces Direct every
|
|
node reports the clustered pool, so the alert fires once per node; the
|
|
`instance` label names the reporter.
|
|
|
|
## Impact
|
|
|
|
A pool in warning state has lost a physical disk or redundancy; the virtual
|
|
disks on it still work but have no tolerance left for another failure, or
|
|
cannot allocate more space. An unhealthy pool has lost more disks than its
|
|
resiliency tolerates, so virtual disks on it are detached or read-only.
|
|
|
|
## Diagnosis
|
|
|
|
1. Inspect `windows_storage_spaces_pool_health_status`,
|
|
`windows_storage_spaces_pool_operational_status` and
|
|
`windows_storage_spaces_virtual_disk_health_status` for the pool and its
|
|
virtual disks.
|
|
2. On the host, find the failed disk:
|
|
|
|
```powershell
|
|
Get-StoragePool -FriendlyName '<pool>' | Select-Object FriendlyName, HealthStatus, OperationalStatus, IsReadOnly
|
|
Get-StoragePool -FriendlyName '<pool>' | Get-PhysicalDisk | Select-Object FriendlyName, SerialNumber, HealthStatus, OperationalStatus, Usage
|
|
Get-StoragePool -FriendlyName '<pool>' | Get-VirtualDisk | Select-Object FriendlyName, HealthStatus, OperationalStatus
|
|
Get-StorageJob
|
|
```
|
|
|
|
3. Check the System log for disk and storage events, and whether a repair job
|
|
is already running.
|
|
|
|
## Mitigation
|
|
|
|
Replace the failed physical disk: retire it with
|
|
`Set-PhysicalDisk -Usage Retired`, add the new disk with `Add-PhysicalDisk`,
|
|
repair the virtual disks with `Repair-VirtualDisk`, and remove the old disk
|
|
with `Remove-PhysicalDisk`. Add capacity when the pool is full. Confirm the
|
|
health returns to healthy once the repair jobs finish.
|