Managed Availability in Exchange Server 2013 polls every server for hundreds of things a second. Most times if something is wrong, it will be fixed automatically. However, there are cases that Managed Availability cannot fix on its own. This post will discuss how you can use Get-HealthReport and Get-ServerHealth to find out what is wrong on a server. You may want to do this after you get an alert for some aspect of a server and want to see if there is anything else amiss.
Server Health Summary
Start with Get-HealthReport to find out the status of every Health Set on the server:
Get-HealthReport -Identity Server1
Server | State | HealthSet | AlertValue | LastTransitionTime | MonitorCount |
------ | ----- | --------- | ---------- | ------------------ | ------------ |
Server1 | NotApplicable | AD | Healthy | 5/21/2013 12:23 | 14 |
Server1 | NotApplicable | ECP | Unhealthy | 5/26/2013 15:40 | 2 |
Server1 | NotApplicable | EventAssistants | Healthy | 5/29/2013 17:51 | 40 |
Server1 | NotApplicable | Monitoring | Healthy | 5/29/2013 17:21 | 9 |
… | … | … | … | … | … |
You can see that the Exchange Control Panel Health Set is Unhealthy. You can also see that this Health Set relies on two Monitors. Let's find out if both of those Monitors are unhealthy.
Health of Each Monitor of a Health Set
Now, use Get-ServerHealth to find out how which Monitors of the Health Set are Unhealthy:
Get-ServerHealth -Identity Server1 -HealthSet ECP
Server | State | Name | TargetResource | HealthSetName | AlertValue | ServerComponent |
------ | ----- | ---- | -------------- | ------------- | ---------- | ---------- |
Server1 | NotApplicable | EacSelfTestMonitor | ECP | Unhealthy | None | |
Server1 | NotApplicable | EacDeepTestMonitor | ECP | Unhealthy | None |
Both Monitors for this Health Set are Unhealthy. If you pipe this command to Format-List, you will get some more details about these Monitors.
Troubleshooting Monitors
Most Monitors in Exchange are one of these four types:
The EacSelfTestMonitor Probes along the "1" path, while the EacDeepTestMonitor Probes along the "4" path. Since both are Unhealthy, you can know that the problem lies on the Mailbox Role in either the Protocol or Store. It could also be a problem with a dependency, such as Active Directory. This is likely if multiple Health Sets are Unhealthy. Troubleshooting ECP Health Set is a good article to help diagnose and fix the problem simulated here.
-ajacks