Share via


System.SnmpScanQuery.EventProvider

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

The System.SnmpScanQuery.EventProvider composite data source module type is used to perform SNMP GET actions in the context of an IP range and at a specified interval. The module returns the System.SnmpData data as a System.Event.Data data type.

Usage

Use this module to get SNMP data from over an IP range and convert it into event data at a scheduled, recurring interval. This module can be implemented in a rule or monitor where the data can be collected and stored in the database and/or data warehouse or trigger alert and state changes.

Type Definition

<DataSourceModuleType ID="System.SnmpScanQuery.EventProvider" Accessibility="Public">
  <Configuration>
    <xsd:element name="Interval" type="xsd:integer" />
    <xsd:element name="IPStart" type="xsd:string" />
    <xsd:element name="IPEnd" type="xsd:string" />
    <xsd:element name="CommunityString" type="xsd:string" />
    <xsd:element name="Timeout" type="xsd:unsignedInt" />
    <xsd:element minOccurs="0" maxOccurs="1" name="Version" type="xsd:string" />
    <xsd:element name="OIDProps">
      <xsd:complexType>
        <xsd:sequence>
          <xsd:element minOccurs="0" maxOccurs="unbounded" name="OIDProp" type="xsd:string" />
        </xsd:sequence>
      </xsd:complexType>
    </xsd:element>
  </Configuration>
  <ModuleImplementation>
    <Composite>
      <MemberModules>
        <DataSource TypeID="System.SnmpScanQueryProvider" ID="DataSource">
          <Interval>$Config/Interval$</Interval>
          <IPStart>$Config/IPStart$</IPStart>
          <IPEnd>$Config/IPEnd$</IPEnd>
          <CommunityString>$Config/CommunityString$</CommunityString>
          <Timeout>$Config/Timeout$</Timeout>
          <Version>$Config/Version$</Version>
          <OIDProps>$Config/OIDProps$</OIDProps>
        </DataSource>
        <ConditionDetection TypeID="System!System.Event.GenericDataMapper" ID="Mapper">
          <EventOriginId>$Target/Id$</EventOriginId>
          <PublisherId>$MPElement$</PublisherId>
          <PublisherName>SnmpScanQuery</PublisherName>
          <Channel>SnmpScanQuery</Channel>
          <LoggingComputer />
          <EventNumber>0</EventNumber>
          <EventCategory>3</EventCategory>
          <EventLevel>0</EventLevel>
          <UserName />
          <Params />
        </ConditionDetection>
      </MemberModules>
      <Composition>
        <Node ID="Mapper">
          <Node ID="DataSource" />
        </Node>
      </Composition>
    </Composite>
  </ModuleImplementation>
  <OutputType>System!System.Event.Data</OutputType>
</DataSourceModuleType>

Parameters

The System.SnmpScanQuery.EventProvider module supports the following configuration parameters:

Parameter Type Description

Interval

Integer

Contains the interval at which to get the SNMP data.

IPStart

String

Specifies the start address of the IP range.

IPEnd

String

Specifies the end address of the IP range.

CommunityString

String

Contains the SNMP Community String.

Timeout

Unsigned Integer

Specifies the timeout in seconds of the probe action.

Version

String

Optional. Specifies the SNMP version. The default value is “2”. To perform an SNMP v1 transaction, the value must be “1”.

OIDProps

Complex

Contains a list of OIDs upon which to perform the GET action. For more information, see the System.SnmpScanProbe module.

For more information on the Interval configuration parameter, see System.Scheduler.

For more information on the OIDProps configuration parameter, see System.SnmpScanProbe.

Composition

The System.SnmpScanQuery.EventProvider module is a composite module that contains the following member modules:

Workflow Run Order Module Type Usage

1

System.Scheduler

Performs SNMP GET actions in the context of an IP range and at a specified interval. The module returns the data as a System.SnmpData data type.

2

System.SnmpScanProbe

Maps the incoming System.SnmpData data to the System.Event.Data data type.

Module Type Usage

System.SnmpScanQuery.FilteredEventProvider

Performs SNMP GET actions in the context of an IP range and at a specified interval. The module returns the filtered System.SnmpData data as a System.Event.Data data type.

System.SnmpScanQuery.FilteredEventProvider

Performs SNMP GET actions at the specified interval and converts the filtered response System.SnmpData data to the System.Event.Data data type.

External Module References

None.

Sample

The following example illustrates how you can use the System.SnmpScanQuery.EventProvider module in a rule that generates an alert whenever a Microsoft.SystemCenter.NetworkDevice object interface is unavailable over a given IP range.

<Rule ID="Microsoft.Samples.Snmp.DownInterfaceWriteEventProviderScan" Enabled="true" Target="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice" Remotable="true">
  <Category>Custom</Category>
  <DataSources>
    <DataSource ID="SnmpEventData" TypeID="Snmp!System.SnmpScanQuery.EventProvider">
      <Interval>50000000</Interval>
      <IPStart>10.194.229.10</IPStart>
      <IPEnd>10.194.229.11</IPEnd>
      <CommunityString>public</CommunityString>
      <Timeout>7200</Timeout>
      <OIDProps>
        <OIDProp>1.3.6.1.2.1.2.2.1.8.8</OIDProp>
        <OIDProp>.1.3.6.1.2.1.2.2.1.8.9</OIDProp>
      </OIDProps>
    </DataSource>
  </DataSources>
  <ConditionDetection ID="Filter" TypeID="System!System.ExpressionFilter">
    <Expression>
      <And>
        <Expression>
          <SimpleExpression>
            <ValueExpression>
              <XPathQuery>SnmpVarBinds/SnmpVarBind[2]/Value</XPathQuery>
            </ValueExpression>
            <Operator>Equal</Operator>
            <ValueExpression>
              <Value>2</Value>
            </ValueExpression>
          </SimpleExpression>
        </Expression>
        <Expression>
          <SimpleExpression>
            <ValueExpression>
              <XPathQuery>SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
            </ValueExpression>
            <Operator>Equal</Operator>
            <ValueExpression>
              <Value>2</Value>
            </ValueExpression>
          </SimpleExpression>
        </Expression>
      </And>
    </Expression>
  </ConditionDetection>
  <WriteActions>
    <WriteAction ID="Alert" TypeID="Health!System.Health.GenerateAlert">
      <Priority>1</Priority>
      <Severity>2</Severity>
      <AlertOwner />
      <AlertMessageId>$MPElement[Name="Microsoft.Samples.Snmp.AlertMessage"]$</AlertMessageId>
      <Suppression />
    </WriteAction>
  </WriteActions>
</Rule>

Information

   

Module Type

DataSourceModuleType

Output Type

System.Event.Data

Implementation

Composite

Library

System.Snmp.Library