Share via


ProbeAction (UnitMonitorType)

Applies To: Operations Manager 2007 R2, System Center Operations Manager 2007

Represents an implementation of a probe action module type definition.

Schema Hierarchy

ManagementPack
  TypeDefinitions
    MonitorTypes
      UnitMonitorType
        MonitorImplementation
          MemberModules
            ProbeAction (UnitMonitorType)

Syntax

<ProbeAction ID=”ModuleID” Comment=”Comment” TypeID=”ModuleTypeID”>
Custom Schema Defined Parameters
</ProbeAction>

Attributes and Elements

The following sections describe attributes, child elements, and the parent element of the ProbeAction element.

Attributes

Attribute Description

ID

Required attribute. Represents the identity of the element.

Comment

Optional attribute. Represents commentary by the management pack author.

TypeID

Required attribute. Represents ProbeAction module type definition from which this ProbeAction module inherits its configuration schema.

ID Attribute

Value Description

The format for the ID attribute should be UniqueElementID.

The ID string must contain the following characteristics:

  • The length is less than 255 characters.

  • The ID begins with a letter (a-z) or a number (0-9).

  • The ID contains only letters, numbers, the period character (.), or the underscore (_) character.

  • The ID is unique across all elements within the scope of the ProbeAction module’s containing workflow.

  • The ID is case-sensitive.

Child Elements

The child element of the ProbeAction module is defined by the Configuration (ProbeActionModuleType) schema of its base type as referenced in the TypeID attribute.

Parent Elements

Element Description

MemberModules (DataSourceModuleType)

Contains all of the modules that are used in the linear workflow of a module type definition.

Remarks

A probe action module takes a single input stream and outputs data. The data types of its input and output data are defined in its InputType (ProbeActionModuleType) and OutputType (ProbeActionModuleType) elements respectively. Like a DataSource (DataSourceModuleType) module, the probe action module runs a process or script to gather data from a source, processes it, and finally returns the data. Unlike a data source module, however, a probe action module can receive input data and therefore does not have to be the first element in the workflow.

A probe action module type never alters system state. If you want your module to affect system state, you must instead use or implement a WriteAction (WriteActionModuleType) module.

Typically, a probe action module type is preceded in a workflow by a data source scheduler module so that its action can occur at an interval at some frequency.

A probe action module’s base type must always be a descendant of a ProbeActionModuleType type.

Example

The following XML samples that are located in the Microsoft.Windows.Library management pack, illustrate how a unit monitor type can implement a probe action module in an OnDemandDetection element.

This particular monitor is implemented as a generic two-state monitor type that is used to reflect the running state of an NT Service.

<UnitMonitorType ID="Microsoft.Windows.CheckNTServiceStateMonitorType" Accessibility="Public">
  <MonitorTypeStates>
    <MonitorTypeState ID="Running" />
    <MonitorTypeState ID="NotRunning" />
  </MonitorTypeStates>
  <Configuration>
    <xsd:element name="ComputerName" type="xsd:string" />
    <xsd:element name="ServiceName" type="xsd:string" />
    <xsd:element name="CheckStartupType" minOccurs="0" maxOccurs="1" type="xsd:string" />
  </Configuration>
  <OverrideableParameters>
    <OverrideableParameter ID="CheckStartupType" Selector="$Config/CheckStartupType$" ParameterType="string" />
  </OverrideableParameters>
  <MonitorImplementation>
    <MemberModules>
      <DataSource ID="DS" TypeID="Microsoft.Windows.Win32ServiceInformationProvider">
        <ComputerName>$Config/ComputerName$</ComputerName>
        <ServiceName>$Config/ServiceName$</ServiceName>
        <Frequency>60</Frequency>
        <CheckStartupType>$Config/CheckStartupType$</CheckStartupType>
      </DataSource>
      <ProbeAction ID="Probe" TypeID="Microsoft.Windows.Win32ServiceInformationProbe">
        <ComputerName>$Config/ComputerName$</ComputerName>
        <ServiceName>$Config/ServiceName$</ServiceName>
      </ProbeAction>
      <ConditionDetection ID="ServiceRunning" TypeID="System!System.ExpressionFilter">
        <Expression>
          <Or>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <Value Type="String">$Config/CheckStartupType$</Value>
                    </ValueExpression>
                    <Operator>NotEqual</Operator>
                    <ValueExpression>
                      <Value Type="String">false</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="Integer">Property[@Name='StartMode']</XPathQuery>
                    </ValueExpression>
                    <Operator>NotEqual</Operator>
                    <ValueExpression>
                      <Value Type="Integer">2</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
            <Expression>
              <SimpleExpression>
                <ValueExpression>
                  <XPathQuery Type="Integer">Property[@Name='State']</XPathQuery>
                </ValueExpression>
                <Operator>Equal</Operator>
                <ValueExpression>
                  <Value Type="Integer">4</Value>
                </ValueExpression>
              </SimpleExpression>
            </Expression>
          </Or>
        </Expression>
      </ConditionDetection>
      <ConditionDetection ID="ServiceNotRunning" TypeID="System!System.ExpressionFilter">
        <Expression>
          <And>
            <Expression>
              <Or>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="Integer">Property[@Name='StartMode']</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="Integer">2</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <And>
                    <Expression>
                      <SimpleExpression>
                        <ValueExpression>
                          <Value Type="String">$Config/CheckStartupType$</Value>
                        </ValueExpression>
                        <Operator>Equal</Operator>
                        <ValueExpression>
                          <Value Type="String">false</Value>
                        </ValueExpression>
                      </SimpleExpression>
                    </Expression>
                    <Expression>
                      <SimpleExpression>
                        <ValueExpression>
                          <XPathQuery Type="Integer">Property[@Name='StartMode']</XPathQuery>
                        </ValueExpression>
                        <Operator>NotEqual</Operator>
                        <ValueExpression>
                          <Value Type="Integer">2</Value>
                        </ValueExpression>
                      </SimpleExpression>
                    </Expression>
                  </And>
                </Expression>
              </Or>
            </Expression>
            <Expression>
              <SimpleExpression>
                <ValueExpression>
                  <XPathQuery Type="Integer">Property[@Name='State']</XPathQuery>
                </ValueExpression>
                <Operator>NotEqual</Operator>
                <ValueExpression>
                  <Value Type="Integer">4</Value>
                </ValueExpression>
              </SimpleExpression>
            </Expression>
          </And>
        </Expression>
      </ConditionDetection>
    </MemberModules>
    <RegularDetections>
      <RegularDetection MonitorTypeStateID="Running">
        <Node ID="ServiceRunning">
          <Node ID="DS" />
        </Node>
      </RegularDetection>
      <RegularDetection MonitorTypeStateID="NotRunning">
        <Node ID="ServiceNotRunning">
          <Node ID="DS" />
        </Node>
      </RegularDetection>
    </RegularDetections>
    <OnDemandDetections>
      <OnDemandDetection MonitorTypeStateID="Running">
        <Node ID="ServiceRunning">
          <Node ID="Probe" />
        </Node>
      </OnDemandDetection>
      <OnDemandDetection MonitorTypeStateID="NotRunning">
        <Node ID="ServiceNotRunning">
          <Node ID="Probe" />
        </Node>
      </OnDemandDetection>
    </OnDemandDetections>
  </MonitorImplementation>
</UnitMonitorType>

See Also

Reference

MemberModules (DataSourceModuleType)
ProbeActionModuleType
ProbeAction (ProbeActionModuleType)