Best Practice: Unit monitor AlertSeverityshould match the unhealthy state used in 2-state unit monitors

 

What does this best practice check for?

In an MP, it is a frequent occurrence to have unit monitor that raise alerts as they change state. As a best practice, health state (Healthy, Warning, or Critical) of a monitor should correspond to alert severity (Informational, Warning, or Critical).

Why is it important to follow this best practice? What is the impact of not following this best practice?

When health states and alert severities do not correspond, the alerts will not show in the Operations Console. So, for example, if a monitor was written to produce a critical alert on a warning state, this alert would not show.

How do I fix this?

Using the Authoring Console:

1.        For all monitors, open the Properties dialog. In the Alerting tab, check that “Generate the Alert When:” matches the selected alert severity.

Using XML:

< UnitMonitor ID = " Microsoft.Windows.Server.2008.LogicalDisk.AvailabilityHealth" Accessibility =" Public" Enabled =" onEssentialMonitoring" Target =" Server2008!Microsoft.Windows.Server.2008.LogicalDisk" ParentMonitorID =" SystemHealth!System.Health.AvailabilityState" Remotable =" true" Priority =" Normal" TypeID =" Microsoft.Windows.Server.2008.LogicalDisk.Monitortype" ConfirmDelivery =" false" >

       < Category > StateCollection </ Category >

       < AlertSettings AlertMessage = " Microsoft.Windows.Server.2008.LogicalDisk.AvailabilityHealth.AlertMessage" >

         < AlertOnState > Error </ AlertOnState >

         < AutoResolve > true </ AutoResolve >

         < AlertPriority > Normal </ AlertPriority >

          < AlertSeverity > Error </ AlertSeverity >

         < AlertParameters >

           < AlertParameter1 > $Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/Name$ </ AlertParameter1 >

         </ AlertParameters >

       </ AlertSettings >

       < OperationalStates >

          < OperationalState ID = " NotAvailabile" MonitorTypeStateID =" Bad" HealthState =" Error" />

         < OperationalState ID = " Availabile" MonitorTypeStateID =" Good" HealthState =" Success" />

       </ OperationalStates >

     

     </ UnitMonitor >