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 |
The ID string must contain the following characteristics:
|
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 |
---|---|
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)