DependencyMonitor
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 a hosting or containment relationship’s target instances.
Schema Hierarchy
ManagementPack
Monitoring
Monitors
DependencyMonitor
Syntax
<DependencyMonitor Id=”DependencyMonitorID” Comment=”Comment” Accessibility=”Public/Internal” Enabled=”True/False” Target=”TargetClassID” ParentMonitorID=”ParentMonitorID” Remotable=”True/False” Priority=”Normal” RunAs=”SecureReferenceID” RelationshipType=”RelationshipTypeID” MemberMonitor=”RollupMonitorID”>
<Category>CategoryName</Category>
<AlertSettings AlertMessage=”DisplayStringID”>…</AlertSettings>
<Algorithm>Bestof/WorstOf/Percentage</Algorithm>
<AlgorithmParameter>Percentage Value</AlgorithmParameter>
<MemberInMaintenance>Uninitialized/Success/Warning/Error</MemberInMaintentance>
<MemberUnavailable>Uninitialized/Success/Warning/Error</MemberUnavailable>
</DependencyMonitor>
Attributes and Elements
The following sections describe attributes, child elements, and the parent element of the DependencyMonitor 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. |
Remotable |
Optional attribute. Defines whether or not this monitor will run for agentless monitoring. Default value is true. |
Accessibility |
Required attribute. Defines the visibility of the monitor. |
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. |
RelationshipType |
Required attribute. The ID of the RelationshipType element whose target instances algorithmically determine the health state of the monitor. |
MemberMonitor |
Required attribute. The ID of a monitor that targets the relationship type’s target class type instances and will be rolled up. |
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 a dependency 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. |
|
Required element if the Algorithm element has the value of “Percentage.” Specifies the percentage of members for the percentage algorithm. |
|
Optional element. Specifies health state attributed to a member in maintenance mode. |
|
Specifies health state attributed to a member that is unavailable. |
Parent Elements
Element | Description |
---|---|
Contains monitor definitions targeted at a specific class type. |
Remarks
Dependency monitors are used to create monitors whose health state is rolled up across a defined RelationshipType element. The relationship type that is used to structure the dependency monitor must be either a hosting or a containment relationship type. For example, consider the following containment relationship type and dependency monitor type definitions in the Microsoft.Windows.Client.XP management pack:
<RelationshipType ID="Microsoft.Windows.Client.XP.DiskPartitionContainsLogicalDisk" Base="System!System.Containment" Accessibility="Public">
<Source>Microsoft.Windows.Client.XP.DiskPartition</Source>
<Target>Microsoft.Windows.Client.XP.LogicalDisk</Target>
</RelationshipType>
…
<DependencyMonitor ID="Microsoft.Windows.Client.XP.DiskPartition.LogicalDiskPerformanceRollup" Accessibility="Public" Enabled="onEssentialMonitoring" Target="Microsoft.Windows.Client.XP.DiskPartition" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" RelationshipType="Microsoft.Windows.Client.XP.DiskPartitionContainsLogicalDisk" MemberMonitor="SystemHealth!System.Health.PerformanceState">
<Category>StateCollection</Category>
<Algorithm>WorstOf</Algorithm>
<MemberUnAvailable>Error</MemberUnAvailable>
</DependencyMonitor>
The dependency monitor calculates the health state of a disk partition from the health state of its contained logical disks by using a WorstOf algorithm. The definition of the dependency monitor specifies the relationship type by which it creates the rollup in the RelationshipType attribute. The Target element of the monitor is always the Source element of the relationship type. In addition, the monitor must specify the MemberMonitor element of the relationship type’s target class type. The member monitor can be any monitor type that targets either the target class type or a class type from which the target class type derives. The member monitor is the monitor that is used to calculate the individual health state of the members or target instances.