Best Practice: Monitors should eventually roll-up to a standard aggregate monitor

 

What does this best practice check for?

All classes defined in a management pack have a singular health state associated with them: this is the System.Health.EntityState. Underneath this are several aggregate monitors for System.Health.AvailabilityState, System.Health.PerformanceState, System.Health.SecurityState, and   System.Health.ConfigurationState. The health model, or the collection and roll-up of monitors defined in the MP should all be placed under one of these four aggregate monitors, either directly (a unit monitor roll-ups up to Availability.Health) or indirectly (a unit monitor rolls-up to a dependency monitor that rolls-up to Availability.Health).

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

Monitors that do not roll-up to Entity.Health, either directly or indirectly, will not have their health state reflected anywhere in the Operations Manager console, and will not be visible to the user. Thus, these monitors will not be at all helpful to the end-user.

How do I fix this in my MP?

Using the Authoring Console:

1.        If you are building a monitor using the Authoring Console, you will be asked what the parent monitor is for the monitor you are creating. You will not be able to build a monitor that does not directly or indirectly roll-up to Entity health.

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" >

       

     </ UnitMonitor >