DependencyMonitor

Applies To: System Center 2012 - Operations Manager, System Center 2012 R2 Operations Manager, System Center 2012 SP1 - Operations Manager

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

Category (DependencyMonitor)

Required element. Represents the category name of a dependency monitor.

AlertSettings (DependencyMonitor)

Optional element. Defines the alert to generate when the monitor reflects a specified unhealthy state.

Algorithm (DependencyMonitor)

Required element. Defines the algorithm to use for determining health state.

AlgorithmParameter (DependencyMonitor)

Required element if the Algorithm element has the value of “Percentage.” Specifies the percentage of members for the percentage algorithm.

MemberInMaintenance Element

Optional element. Specifies health state attributed to a member in maintenance mode.

MemberUnavailable Element

Specifies health state attributed to a member that is unavailable.

Parent Elements

Element Description

Monitors

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.

See Also

Reference

Monitors
RelationshipType