Health monitoring is really important for virtualization hosts for obvious reasons, but determining the status of Hyper-V server health can be a surprisingly elusive process, unless you happen to be using dedicated monitoring software. After all, the Hyper-V Manager does not contain a big, green icon indicating that your server is healthy. So how can you verify the health of a Hyper-V host?
The first thing that must be understood about Hyper-V health assessments is that the term “healthy” means different things to different people. To some, a Hyper-V host is healthy if its VMs are running without issue. To others, a healthy state reflects an absence of serious error messages in the event logs. Still others might view a server’s health in terms of how well the underlying hardware is functioning. Regardless of your definition, with the possible exception of the event logs, there isn’t any one place that you can go to get comprehensive health information unless you are using dedicated monitoring software. As such, I wanted to show you a few different things that you can look at in an effort to verify Hyper-V server health.
Virtual Machine Manager
The preferred management tool for Hyper-V is System Center Virtual Machine Manager, so it should come as no surprise that Virtual Machine Manager provides some of the best Hyper-V server health information available.
To check Hyper-V server health in Virtual Machine Manager, open the Virtual Machine Manager console and click on the VMs and Services workspace. Next, right click on the Hyper-V host that you want to examine, and select the Properties command from the shortcut menu. This will cause the console to open the host server’s properties sheet. As you can see in the figure below, this properties sheet displays status information for a number of different server components.
So what happens if the Hyper-V server is unhealthy? Well, it depends on the nature of the issue, but in some cases, Virtual Machine Manager will give you some information about problems that have been detected. To see what I mean, take a look at the figure below. I captured this screen shot after shutting down one of my Hyper-V hosts. Incidentally, if you are trying to perform a health assessment, then it is a good idea to click the Refresh button so that you can make sure that you are seeing the latest information.
In this case, we can see that the status information reported by the Virtual Machine Manager console can be helpful, but the information is open to interpretation. At first glance, the figure above might lead you to believe that the server has a network problem because of the red error icon next to Network. However, the error details indicate that Virtual Machine Manager has lost communications with the server. In this case, there is no network error. Communications were lost due to the server being shut down.
Best Practices Analyzer
Another good source of health information is the Best Practices Analyzer. The information provided by the Best Practices Analyzer is different from the status information that I showed you in the previous section. The Best Practices Analyzer isn’t going to show you, for example, that a Hyper-V host has lost network connectivity. Instead, it can help you to determine whether or not the host is using a healthy configuration.
You can access the Best Practices Analyzer by opening the Server Manager, clicking on the Hyper-V container, and scrolling to the Best Practices Analyzer section. By default, the Best Practices Analyzer is configured to display errors and warnings. In the figure below, for example, you can see that the Best Practices Analyzer warns me against running Hyper-V on a full Windows Server installation because it has a larger attack surface than a Server Core configuration. Similarly, I have received errors related to my failure to use error correcting RAM and multiple network adapters.
Actually, that last point represents a flaw in the Best Practices Analyzer. Hyper-V is configured to use a NIC team, but the Best Practices Analyzer treats the team as a single NIC.
In some cases, the Hyper-V Manager can be a source of health information. When you select a virtual machine within the Hyper-V Manager, a summary will be displayed at the bottom of the console that tells you whether or not the virtual machine is healthy. If you look at the figure below for example, you can see that the Heartbeat is listed as OK (Application Healthy).
In some ways, the health information displayed in the screen capture above can be misleading. This information only confirms that the VM has a heartbeat. In spite of the text that says “Application Healthy,” there are no guarantees that the VM is in a good state of health. In fact, the screen capture even shows that the Integration Services needs to be updated for the VM. While outdated integration services could hardly be classified as a major issue, I would have a hard time classifying this VM as being completely healthy.
The health information shown in the figure above also fails to account for replication health. Not every virtual machine uses replication, but for VMs that do, the replication health should definitely be monitored.
The easiest way to check a virtual machine’s replication health is to right click on the virtual machine, and select the Replication | View Replication Health commands from the shortcut menu. When you do, you will see a dialog box similar to the one that is shown below.
As you can see, Hyper-V is currently reporting replication as being healthy. However, there are two things to keep in mind about the replication health.
First, it is important to check the replication health for all replication partners. I have seen situations in which one replication partner reported a health state of Normal, while another partner was being reported as unhealthy.
Second, if a VM’s replication health is being reported as unhealthy, try resetting the statistics. Replication errors can impact the VM’s reported health long after the errors have been resolved. Resetting the statistics ensures that you are examining current health information.
Aside from some PowerShell scripts that are available online, there isn’t really a single definitive source of Hyper-V server health information. Instead, health information can be found in a variety of places. It is therefore a good idea to determine the types of health metrics that are important to you, and then find where that information is exposed.