AggregateMonitor
Applies To: Operations Manager 2007 R2, System Center Operations Manager 2007
Defines a state machine whose health state is determined by an algorithmic analysis of its children.
Schema Hierarchy
ManagementPack
Monitoring
Monitors
AggregateMonitor
Syntax
<AggregateMonitor ID=”MonitorID” Comment=”Comment” Accessibility=”Public/Internal” Enabled=”True/False” Target=”TargetClassID” ParentMonitorID=”MonitorID” Remotable=”True/False” RunAs=”SecureReferenceID” Priority=”Normal”>
<Category>CategoryName</Category>
<AlertSettings AlertMessage=”AlertMessageID”>…</AlertSettings>
<Algorithm>BestOf/WorstOf</Algorithm>
</AggregateMonitor>
Attributes and Elements
The following sections describe attributes, child elements, and the parent element of the AggregateMonitor element.
Attributes
Attribute | Description |
---|---|
ID |
Required attribute. Represents the identity of the element. To learn how to identify your element in a management pack, see Element Identity and Namespace Conventions. |
Comment |
Optional attribute. Represents commentary by the management pack author. |
Enabled |
Required attribute. Defines whether or not this monitor is by default enabled or disabled. |
Target |
Required attribute. The ID of the targeted class type. |
ParentMonitorID |
Required attribute. The monitor to which this monitor rolls up on the same class type. |
Accessibility |
Required attribute. Defines the visibility of the monitor. |
Remotable |
Optional attribute. Defines whether or not this monitor will run for agentless monitoring. Default value is true. |
RunAs |
Optional attribute. Refers to a SecureReference type ID. All instances of this monitor type will run under the credentials set for the secure reference. |
Priority |
Optional attribute for internal use only. If specified, always set to “Normal.” |
Accessibility Attribute Values
Value | Description |
---|---|
Public |
Indicates that the monitor is visible to external management packs. |
Internal |
Indicates that the monitor is not visible to external management packs. |
Enabled Attribute Values
Value | Description |
---|---|
True |
The monitor is enabled when its target class has been discovered. |
False |
The monitor is disabled even when its target class has been discovered. |
Child Elements
Element | Description |
---|---|
Required element. Represents the category name of an aggregate monitor. |
|
Optional element. Defines the alert to generate when the monitor reflects a specified unhealthy state. |
|
Required element. Defines the algorithm to use for determining health state. |
Parent Elements
Element | Description |
---|---|
Contains monitor definitions targeted at a specific class type. |
Remarks
Aggregate monitors are defined to structure the health model and group-like monitors underneath for a targeted class type instance. Aggregate monitors roll up the health of monitors beneath them according to one of the following algorithms: BestOf or WorstOf. They can optionally generate an alert if the AlertSettings element is specified.
Because every defined ClassType is derived from the System.Entity class type, each class type will also inherit the monitors targeted at System.Entity. Each class type instance will automatically be provided with the following aggregate monitors:
System.Health.EntityState
System.Health.ConfigurationState
System.Health.AvailabilityState
System.Health.PerformanceState
System.Health.SecurityState
The System.Health.EntityState aggregate monitor is the parent monitor of the other four monitors. You should not roll up to the System.Health.EntityState monitor directly and instead should use only one of the other four aggregate monitors. If you do not provide monitors for any one of these base aggregate monitors, they will simply appear empty in the Health Explorer for that class type. You can choose to define your own aggregate monitors if it makes sense to group health state for certain class type instances, but they too must roll up to one of these four base aggregate monitor types.
Example
The following XML sample shows how the four base aggregate monitors are defined in the System.Library management pack. Below these monitors is an aggregate monitor called Microsoft.SQLServer.2000.DBEngine.ServiceRollup
that is defined in the Microsoft.SQLServer.2000.Monitoring management pack. The Microsoft.SQLServer.2000.DBEngine.ServiceRollup
monitor rolls up to System.Health.AvailabilityState base aggregate monitor for Microsoft.SQLServer.2000.DBEngine
class type instances.
<AggregateMonitor ID="System.Health.AvailabilityState" Accessibility="Public" Target="System!System.Entity" ParentMonitorID="System.Health.EntityState" Enabled="true" Remotable="true" Priority="Normal">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
</AggregateMonitor>
<AggregateMonitor ID="System.Health.ConfigurationState" Accessibility="Public" Target="System!System.Entity" ParentMonitorID="System.Health.EntityState" Enabled="true" Remotable="true" Priority="Normal">
<Category>ConfigurationHealth</Category>
<Algorithm>WorstOf</Algorithm>
</AggregateMonitor>
<AggregateMonitor ID="System.Health.PerformanceState" Accessibility="Public" Target="System!System.Entity" ParentMonitorID="System.Health.EntityState" Enabled="true" Remotable="true" Priority="Normal">
<Category>PerformanceHealth</Category>
<Algorithm>WorstOf</Algorithm>
</AggregateMonitor>
<AggregateMonitor ID="System.Health.SecurityState" Accessibility="Public" Target="System!System.Entity" ParentMonitorID="System.Health.EntityState" Enabled="true" Remotable="true" Priority="Normal">
<Category>SecurityHealth</Category>
<Algorithm>WorstOf</Algorithm>
</AggregateMonitor>
…
<AggregateMonitor ID="Microsoft.SQLServer.2000.DBEngine.ServiceRollup" Accessibility="Internal" Enabled="true" Target="SQL2000Core!Microsoft.SQLServer.2000.DBEngine" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
</AggregateMonitor>