Hyper-V VM Status
Get alerted when VMs on a Hyper-V host are off, paused or saved, or when their CPU usage is too high.
The Hyper-V VM Status check monitors the status of virtual machines on a Hyper-V host. It warns when VMs unexpectedly stop or are paused — and, if you enable the option, when they enter a saved state. The check runs only on Windows with the Hyper-V role or feature enabled, every 5 minutes on the agent; the interval is not user-configurable.
Prerequisites
- You need the Monitoring Check Management permission.
- The target device must be a Windows Hyper-V host with the Hyper-V role installed, the Hyper-V PowerShell module available, and a connected agent. The check uses
Get-VMto query VM states.
Steps

- Go to Devices and open the Hyper-V host.
- Click the Checks tab → Add Check → Hyper-V VM Status.
- The Monitor all VMs toggle is on by default. Use VMs to exclude to leave out individual VM names or patterns, such as
Test-*for test VMs that are intentionally off. Turn Monitor all VMs off to maintain a fixed VMs to monitor list of names or patterns instead; exclusions do not apply in that mode. - Set the alert behavior under State evaluation and, if needed, the CPU thresholds.
- Click Add Check.
After the first check interval, the result appears in the device's Checks tab.
Settings
A CPU threshold is reached when a VM's CPU usage equals or exceeds it. Both CPU thresholds are limited to 0–100; if the warning threshold is higher than the critical threshold, the check swaps the two values.
Results
Runningis a successful run state unless an optionally enabled CPU threshold is reached; with CPU monitoring enabled, a running VM can still warn or turn critical because of its CPU usage.OffandSavedfollow the settings above.- VMs in the
Pausedstate always raise a warning. This behavior is hardcoded and cannot be turned off via the settings. - The host result is the worst result across all evaluated VMs.
- A missing Hyper-V role or unavailable
Get-VMcmdlet raises a warning (not a failure). A host with no VMs also raises a warning. - If exclusions leave no VMs, the check raises a warning because nothing remains to monitor.
- If Monitor all VMs is off and the list is empty — or none of the listed names or patterns match a VM on the host (matching is case-insensitive) — the check raises a warning, for example after a VM has been renamed.
- Any other exception during evaluation raises a failure.
Collected metrics
- Total VMs — the number of monitored VMs: every non-excluded VM on the host when Monitor all VMs is on, otherwise only the VMs that match your list.
- For VMs in a problem state, octoja reports the VM name, state, uptime, CPU usage (percent), assigned memory (MB), and the severity that VM contributed (warning or critical). When no VM is in a problem state, no per-VM details are shown.
Tips
- Set Critical if VM is off to
Yesfor production VMs that should always be running. - VMs in a saved state are not running — they have not crashed but are also not serving requests. Enable Warn if VM is saved for VMs that should never be left in a saved state.
- Use VMs to exclude for templates or test environments that are intentionally off. Newly added VMs then remain covered automatically.
Was this helpful?
More in Virtualization & containers
Proxmox Cluster & QuorumProxmox Services & HAVMware (ESXi / vCenter)Still need help? Ask the team