Microsoft.SystemCenter.ICMPProbe

System Center

Updated: May 18, 2012

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

The Microsoft.SystemCenter.ICMPProbe probe action module type is used to ping a remote computer. It takes System.BaseData data as input and returns System.PropertyBagData as output.

Usage

This module is commonly used to ping a remote device to check its availability. It is commonly used with an expression filter to evaluate the output.

Type Definition

<ProbeActionModuleType ID="Microsoft.SystemCenter.ICMPProbe" Accessibility="Public" Batching="false" PassThrough="false">
  <Configuration>
    <xsd:element name="ComputerSourcePing" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    </xsd:element>
    <xsd:element name="NetworkTargetToPing" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
  </Configuration>
  <OverrideableParameters>
    <OverrideableParameter ID="ComputerSourcePing" Selector="$Config/ComputerSourcePing$" ParameterType="string" />
    <OverrideableParameter ID="NetworkTargetToPing" Selector="$Config/NetworkTargetToPing$" ParameterType="string" />
  </OverrideableParameters>
  <ModuleImplementation Isolation="Any">
    <Composite>
      <MemberModules>
        <ProbeAction ID="WmiProbe" TypeID="Windows!Microsoft.Windows.WmiProbe">
          <NameSpace>\\$Config/ComputerSourcePing$\Root\CIMv2</NameSpace>
          <Query>SELECT * FROM Win32_PingStatus WHERE Address = '$Config/NetworkTargetToPing$'</Query>
        </ProbeAction>
      </MemberModules>
      <Composition>
        <Node ID="WmiProbe" />
      </Composition>
    </Composite>
  </ModuleImplementation>
  <OutputType>System!System.PropertyBagData</OutputType>
  <InputType>System!System.BaseData</InputType>
</ProbeActionModuleType>

Parameters

The Microsoft.SystemCenter.ICMPProbe module supports the following configuration parameters.

 

Parameter Type Description

ComputerSourcePing

String

Required element. Indicates the computer that will be the source of the ping. This should always be the Windows Computer PrincipalName because this indicates the computer that will connect to WMI and initiate the ping.

NetworkTargetToPing

String

The target of the ping. This can be a computer or device name or an IP address.

Composition

The Microsoft.SystemCenter.ICMPProbe module is a composite module that contains the member module that is described in the following table.

 

Workflow Run Order Module Type Usage

1

Microsoft.Windows.WmiProbe

Uses WMI to send the ping to the target.

External Module References

 

Module Type Usage

Microsoft.SystemCenter.ManagedComputer.Ping.ICMPDiagnostic

Pings a specified computer in response to a ping monitor.

Microsoft.SystemCenter.HealthService.Diagnostic.ICMPPingDiagnostic

Pings a specified computer in response to a heartbeat failure.

Microsoft.Unix.WSMan.Heartbeat.ICMP.Diagnostic

Pings the specified UNIX computer in response to a heartbeat failure.

Sample

The following example demonstrates the use of Microsoft.SystemCenter.ICMPProbe in a rule. The rule pings a designated network target and generates an alert if any result other than status code 0 (success) is returned.

<TypeDefinitions>
  <ModuleTypes>
    <DataSourceModuleType ID="MPAuthor.NetworkTest.ScheduledICMPPing" Accessibility="Internal" Batching="false">
      <Configuration>
        <xsd:element minOccurs="1" name="IntervalSeconds" type="xsd:integer" />
        <xsd:element minOccurs="1" name="SyncTime" type="xsd:string" />
        <xsd:element minOccurs="1" name="NetworkTargetToPing" type="xsd:string" />
        <xsd:element minOccurs="1" name="ComputerSourcePing" type="xsd:string" />
      </Configuration>
      <OverrideableParameters>
        <OverrideableParameter ID="IntervalSeconds" Selector="$Config/IntervalSeconds$" ParameterType="int" />
        <OverrideableParameter ID="SyncTime" Selector="$Config/SyncTime$" ParameterType="string" />
        <OverrideableParameter ID="NetworkTargetToPing" Selector="$Config/NetworkTargetToPing$" ParameterType="string" />
        <OverrideableParameter ID="ComputerSourcePing" Selector="$Config/ComputerSourcePing$" ParameterType="string" />
      </OverrideableParameters>
      <ModuleImplementation Isolation="Any">
        <Composite>
          <MemberModules>
            <DataSource ID="Scheduler" TypeID="System!System.SimpleScheduler">
              <IntervalSeconds>$Config/IntervalSeconds$</IntervalSeconds>
              <SyncTime>$Config/SyncTime$</SyncTime>
            </DataSource>
            <ProbeAction ID="ICMPPing" TypeID="SC!Microsoft.SystemCenter.ICMPProbe">
              <ComputerSourcePing>$Config/ComputerSourcePing$</ComputerSourcePing>
              <NetworkTargetToPing>$Config/NetworkTargetToPing$</NetworkTargetToPing>
            </ProbeAction>
          </MemberModules>
          <Composition>
            <Node ID="ICMPPing">
              <Node ID="Scheduler" />
            </Node>
          </Composition>
        </Composite>
      </ModuleImplementation>
      <OutputType>System!System.PropertyBagData</OutputType>
    </DataSourceModuleType>
  </ModuleTypes>
</TypeDefinitions>
<Monitoring>
  <Rules>
    <Rule ID="MPAuthor.NetworkTest.ICMPPingRule" Enabled="true" Target="Windows!Microsoft.Windows.Computer" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
      <Category>Custom</Category>
      <DataSources>
        <DataSource ID="DS" TypeID="MPAuthor.NetworkTest.ScheduledICMPPing">
          <IntervalSeconds>120</IntervalSeconds>
          <SyncTime />
          <NetworkTargetToPing>www.bing.com</NetworkTargetToPing>
          <ComputerSourcePing>$Target/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</ComputerSourcePing>
        </DataSource>
      </DataSources>
      <ConditionDetection ID="CD" TypeID="System!System.ExpressionFilter">
        <Expression>
          <SimpleExpression>
            <ValueExpression>
              <XPathQuery>Property=[@Name="StatusCode"]</XPathQuery>
            </ValueExpression>
            <Operator>NotEqual</Operator>
            <ValueExpression>
              <XPathQuery>0</XPathQuery>
            </ValueExpression>
          </SimpleExpression>
        </Expression>
      </ConditionDetection>
      <WriteActions>
        <WriteAction ID="Alert" TypeID="Health!System.Health.GenerateAlert">
          <Priority>1</Priority>
          <Severity>2</Severity>
          <AlertMessageId>$MPElement[Name="AlertMessageIDf1b5617adb0449d594c4c6d76f997fe0"]$</AlertMessageId>
        </WriteAction>
      </WriteActions>
    </Rule>
  </Rules>
</Monitoring>

Information

 

   

Module Type

ProbeActionModuleType

Input Type

System.BaseData

Output Type

System.PropertyBagData

Implementation

Composite

Library

Microsoft.SystemCenter.Library

 
Show: