I ran into an issue recently where Veeam created a checkpoint on a VM that lingered for a few days, causing significant hard drive space consumption. Fortunately, our monitoring tool alerted us just in time. In my previous experience with VMware, I had a custom alarm that would notify me if any VM snapshots exceeded 2GB, allowing for easy monitoring. I'm looking to set up a similar system for Hyper-V to automate alerts via email or notifications when a checkpoint becomes too old or exceeds a certain size. By the way, I'm using NinjaRMM for my monitoring needs.
6 Answers
You might find this guide helpful for setting up your monitoring: [Monitoring Hyper-V Checkpoints with PowerShell](https://luka.manojlovic.net/2025/05/31/monitor-hyper-v-hosts-and-or-clusters-for-vm-checkpoints-using-powershell/)—it provides a good breakdown of how to do it.
I keep an eye on datastore usage using SNMP on my Hyper-V hosts. If disk space gets low, it's usually a sign there's an open checkpoint. They’re also visible in the Hyper-V console for a quick, manual check.
Since you're using NinjaRMM, you can directly monitor the checkpoint file locations you have set up. Additionally, you can target the `*.avhdx` file types in the root folders of your VMs for monitoring as well.
I've been using a PowerShell script that cycles through all the hosts with the command `Get-VM -ComputerName | Get-VMSnapshot`. Right now, I just check the output manually, but you could set it up to send emails or even delete the checkpoints if that's useful.
I've set up a PowerShell script that checks for checkpoints older than 24 hours, which I run with PowerShell Universal every morning. You can use `Get-VM | Get-VMSnapshot` to list all the checkpoints as a part of this check.
That's a clever approach! Running it regularly helps catch any issues right away.
At a basic level, you can use `get-vm`, `Get-VMSnapshot`, and `where-object` to filter for snapshots that are either older than a certain number of days or exceed a specific size. You can set `send-emailmessage` in the task scheduler for notifications. Also, make sure Veeam is configured to remove backup checkpoints properly.
That sounds like a solid plan! Automating email alerts would definitely save time.