Skip to main content
Virtualization & containers

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-VM to query VM states.

Steps

Configuration dialog

  1. Go to Devices and open the Hyper-V host.
  2. Click the Checks tab → Add Check → Hyper-V VM Status.
  3. 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.
  4. Set the alert behavior under State evaluation and, if needed, the CPU thresholds.
  5. Click Add Check.

After the first check interval, the result appears in the device's Checks tab.

Settings

FieldTypeRequiredDefaultDescription
Monitor all VMsBooleanNoYesMonitor all VMs on the host
VMs to excludeList of stringsNoEmptyExclude VM names or patterns only when Monitor all VMs is on. * matches any number of characters and ? exactly one. Case-insensitive matching; suggestions from problem VMs in the latest result, with free-text entry available
VMs to monitorList of stringsNo—Specific VM names or patterns using * and ? (shown when Monitor all VMs is off)
Warn if VM is offBooleanNoYesRaise a warning for VMs in 'Off' state
Critical if VM is offBooleanNoNoRaise a critical error instead of a warning for VMs in 'Off' state
Warn if VM is savedBooleanNoNoRaise a warning for VMs in 'Saved' state
Monitor CPU usageBooleanNoNoEvaluate CPU thresholds for the monitored VMs
CPU warning (%)PercentageNo80Shown when CPU monitoring is enabled; warning threshold
CPU critical (%)PercentageNo95Shown when CPU monitoring is enabled; critical threshold

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

  • Running is 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. Off and Saved follow the settings above.
  • VMs in the Paused state 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-VM cmdlet 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 Yes for 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.