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>
44 lines
1.9 KiB
Markdown
44 lines
1.9 KiB
Markdown
---
|
|
title: WindowsStorageVirtualDiskUnhealthy
|
|
---
|
|
|
|
## Meaning
|
|
|
|
The Storage Spaces virtual disk `virtual_disk` 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. A
|
|
virtual disk is in warning state when it is degraded or incomplete and still
|
|
accessible, and unhealthy when it is detached or has lost data. On Storage
|
|
Spaces Direct every node reports the clustered virtual disks, so the alert
|
|
fires once per node; the `instance` label names the reporter.
|
|
|
|
## Impact
|
|
|
|
A degraded virtual disk still serves data but has no redundancy left; a
|
|
further disk failure loses the data. A detached virtual disk takes its volumes
|
|
offline, and everything stored on them is unavailable.
|
|
|
|
## Diagnosis
|
|
|
|
1. Inspect `windows_storage_spaces_virtual_disk_health_status` and
|
|
`windows_storage_spaces_pool_health_status` to see whether the pool is
|
|
affected too; [WindowsStoragePoolUnhealthy](../windowsstoragepoolunhealthy/)
|
|
then names the pool.
|
|
2. On the host, read the virtual disk, its footprint and the repair jobs:
|
|
|
|
```powershell
|
|
Get-VirtualDisk -FriendlyName '<disk>' | Select-Object FriendlyName, HealthStatus, OperationalStatus, ResiliencySettingName, DetachedReason
|
|
Get-VirtualDisk -FriendlyName '<disk>' | Get-PhysicalDisk | Select-Object FriendlyName, HealthStatus, OperationalStatus
|
|
Get-StorageJob
|
|
```
|
|
|
|
3. Check for a failed physical disk, a pool that ran out of space for
|
|
allocation, or a disk that was detached by a policy after an error.
|
|
|
|
## Mitigation
|
|
|
|
Replace the failed physical disk as in [WindowsStoragePoolUnhealthy](../windowsstoragepoolunhealthy/)
|
|
and repair the virtual disk with `Repair-VirtualDisk`. Attach a detached disk
|
|
with `Connect-VirtualDisk` once the cause is fixed. Confirm the health returns
|
|
to healthy once the repair jobs finish.
|