System.NetworkManagement.Host.ExtendedSnmpQueryProvider

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

The System.NetworkManagement.Host.ExtendedSnmpQueryProvider data source module type provides System.SnmpData type data.

Usage

This module is commonly used to retrieve SNMP data from a specified SNMP object at a specific recurring interval. Specifically, this module is used to get information from the parent of the target object, for example, getting information on memory by querying the host of the memory (the node). If you need to query the object itself, use System.NetworkManagement.ExtendedSnmpQueryProvider instead.

Type Definition

<DataSourceModuleType ID="System.NetworkManagement.Host.ExtendedSnmpQueryProvider" Accessibility="Public" Batching="false">
  <Configuration>
    <IncludeSchemaTypes>
      <SchemaType>Snmp!System.SnmpVarBindsSchema</SchemaType>
    </IncludeSchemaTypes>
    <xsd:element name="Interval" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="0" maxOccurs="1" name="NoOfRetries" type="xsd:unsignedInt" default="3" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="0" maxOccurs="1" name="Timeout" type="xsd:unsignedInt" default="700" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element name="SnmpVarBinds" type="SnmpVarBindsType" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element name="OutputOnError" type="xsd:string" minOccurs="0" maxOccurs="1" default="false" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
  </Configuration>
  <ModuleImplementation Isolation="Any">
    <Composite>
      <MemberModules>
        <DataSource ID="ExtendedSnmpQueryProvider" TypeID="System.NetworkManagement.ExtendedSnmpQueryProvider.Internal">
          <Interval>$Config/Interval$</Interval>
          <NoOfRetries>$Config/NoOfRetries$</NoOfRetries>
          <Timeout>$Config/Timeout$</Timeout>
          <Port>$Target/Host/Property[Type="NetworkLibrary!System.NetworkManagement.Node"]/PortNumber$</Port>
          <IP>$Target/Host/Property[Type="NetworkLibrary!System.NetworkManagement.Node"]/SNMPAddress$</IP>
          <CommunityString>$RunAs[Name="NetworkLibrary!System.NetworkManagement.Snmp.MonitoringAccount"]/CommunityString$$Target/Host/Property[Type="NetworkLibrary!System.NetworkManagement.Node"]/VirtualCommunitySuffix$</CommunityString>
          <Version>$Target/Host/Property[Type="NetworkLibrary!System.NetworkManagement.Node"]/SNMPVersion$</Version>
          <SnmpVarBinds>$Config/SnmpVarBinds$</SnmpVarBinds>
          <OutputOnError>$Config/OutputOnError$</OutputOnError>
        </DataSource>
      </MemberModules>
      <Composition>
        <Node ID="ExtendedSnmpQueryProvider" />
      </Composition>
    </Composite>
  </ModuleImplementation>
  <OutputType>Snmp!System.SnmpData</OutputType>
</DataSourceModuleType>

Parameters

The System.NetworkManagement.Host.ExtendedSnmpQueryProvider module supports the following configuration parameters:

Parameter Type Overrideable Description

Interval

Integer

False

Required parameter. Contains the interval, in seconds, at which the probe performs the SNMP operation.

NoOfRetries

Integer

False

Optional parameter. The number of times that an SNMP GET operation will retry if it times out. Defaults to 3.

Timeout

Integer

False

Optional parameter. The amount of time (in milliseconds) before an SNMP GET operation times out. Defaults to 700.

SnmpVarBinds

SnmpVarBindsType

False

Required parameter. Contains a list of SNMP variable bindings as SnmpVarBind elements.

OutputOnError

String

False

Optional parameter. Indicates whether the workflow should continue if the device returns an error.

For more information about the SnmpVarBind element, see System.NetworkManagement.SnmpDataSource.

Composition

The System.NetworkManagement.Host.ExtendedSnmpQueryProvider module is a composite module that contains the member modules described in the following table.

Workflow Run Order Module Type Usage

1

System.NetworkManagement.ExtendedSnmpQueryProvider.Internal

Retrieves the raw data from the SNMP source.

Module Type Usage

System.NetworkManagement.ExtendedSnmpQueryProvider

Used to retrieve SNMP information from the object directly, as opposed to the parent of the object.

External Module References

Module Type Usage

System.NetworkManagement.ComputedPerfProvider

Retrieves performance data for a given SNMP object.

System.NetworkManagement.ExtendedSnmpPerformanceProvider

Retrieves performance data for a given SNMP object.

System.NetworkManagement.MemoryPerfProvider

Retrieves performance data for an SNMP node’s memory.

Sample

The following XML example shows how System.NetworkManagement.Host.ExtendedSnmpQueryProvider is used in a unit monitor to determine whether the value of a performance counter on an SNMP object is below a given threshold. Note that because this unit monitor measures a performance counter on a node, the query is directed to the host of the counter (the node itself), rather than using System.NetworkManagement.ExtendedSnmpQueryProvider.

<UnitMonitorType ID="System.NetworkManagement.ComputedLowThresholdMonitorType" Accessibility="Internal">
  <MonitorTypeStates>
    <MonitorTypeState ID="MTSThresholdSuccess" NoDetection="false" />
    <MonitorTypeState ID="MTSThresholdError" NoDetection="false" />
  </MonitorTypeStates>
  <Configuration>
    <IncludeSchemaTypes>
      <SchemaType>System.ExpressionEvaluatorSchema</SchemaType>
    </IncludeSchemaTypes>
    <xsd:element minOccurs="1" name="Interval" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="0" maxOccurs="1" name="NoOfRetries" type="xsd:unsignedInt" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="0" maxOccurs="1" name="Timeout" type="xsd:unsignedInt" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="SnmpVarBinds" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <xsd:complexType>
        <xsd:sequence>
          <xsd:element minOccurs="1" maxOccurs="unbounded" name="SnmpVarBind">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="OID" type="xsd:string" />
                <xsd:element name="Syntax" type="xsd:integer" />
                <xsd:element name="Value">
                  <xsd:complexType>
                    <xsd:simpleContent>
                      <xsd:extension base="xsd:string">
                        <xsd:attribute name="VariantType" type="xsd:integer" use="optional" />
                      </xsd:extension>
                    </xsd:simpleContent>
                  </xsd:complexType>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
    </xsd:element>
    <xsd:element minOccurs="1" name="ComputedPerformanceValue" type="NumericValueExpressionType" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="Threshold" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="NumberOfSamples" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="ObjectName" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="CounterName" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
  </Configuration>
  <OverrideableParameters>
    <OverrideableParameter ID="Interval" Selector="$Config/Interval$" ParameterType="int" />
    <OverrideableParameter ID="NoOfRetries" Selector="$Config/NoOfRetries$" ParameterType="int" />
    <OverrideableParameter ID="Timeout" Selector="$Config/Timeout$" ParameterType="int" />
    <OverrideableParameter ID="Threshold" Selector="$Config/Threshold$" ParameterType="int" />
    <OverrideableParameter ID="NumberOfSamples" Selector="$Config/NumberOfSamples$" ParameterType="int" />
  </OverrideableParameters>
  <MonitorImplementation>
    <MemberModules>
      <DataSource ID="ProbeDS" TypeID="System.NetworkManagement.Host.ExtendedSnmpQueryProvider">
        <Interval>$Config/Interval$</Interval>
        <NoOfRetries>$Config/NoOfRetries$</NoOfRetries>
        <Timeout>$Config/Timeout$</Timeout>
        <SnmpVarBinds>$Config/SnmpVarBinds$</SnmpVarBinds>
      </DataSource>
      <ConditionDetection ID="ComputePerfValue" TypeID="System.NetworkManagement.Computation">
        <NumericValue>$Config/ComputedPerformanceValue$</NumericValue>
      </ConditionDetection>
      <ConditionDetection ID="PerfMapper" TypeID="Performance!System.Performance.DataGenericMapper">
        <ObjectName>$Config/ObjectName$</ObjectName>
        <CounterName>$Config/CounterName$</CounterName>
        <InstanceName />
        <Value>$Data/Value$</Value>
      </ConditionDetection>
      <ConditionDetection ID="OperationStatusSuccess" TypeID="System.NetworkManagement.ExpressionFilter">
        <Expression>
          <SimpleExpression>
            <ValueExpression>
              <XPathQuery Type="Double">Value</XPathQuery>
            </ValueExpression>
            <Operator>Greater</Operator>
            <ValueExpression>
              <Value Type="Double">$Config/Threshold$</Value>
            </ValueExpression>
          </SimpleExpression>
        </Expression>
        <SuppressionSettings>
          <MatchCount>$Config/NumberOfSamples$</MatchCount>
          <SampleCount>$Config/NumberOfSamples$</SampleCount>
        </SuppressionSettings>
      </ConditionDetection>
      <ConditionDetection ID="OperationStatusError" TypeID="System.NetworkManagement.ExpressionFilter">
        <Expression>
          <SimpleExpression>
            <ValueExpression>
              <XPathQuery Type="Double">Value</XPathQuery>
            </ValueExpression>
            <Operator>LessEqual</Operator>
            <ValueExpression>
              <Value Type="Double">$Config/Threshold$</Value>
            </ValueExpression>
          </SimpleExpression>
        </Expression>
        <SuppressionSettings>
          <MatchCount>$Config/NumberOfSamples$</MatchCount>
          <SampleCount>$Config/NumberOfSamples$</SampleCount>
        </SuppressionSettings>
      </ConditionDetection>
    </MemberModules>
    <RegularDetections>
      <RegularDetection MonitorTypeStateID="MTSThresholdSuccess">
        <Node ID="OperationStatusSuccess">
          <Node ID="PerfMapper">
            <Node ID="ComputePerfValue">
              <Node ID="ProbeDS" />
            </Node>
          </Node>
        </Node>
      </RegularDetection>
      <RegularDetection MonitorTypeStateID="MTSThresholdError">
        <Node ID="OperationStatusError">
          <Node ID="PerfMapper">
            <Node ID="ComputePerfValue">
              <Node ID="ProbeDS" />
            </Node>
          </Node>
        </Node>
      </RegularDetection>
    </RegularDetections>
  </MonitorImplementation>
</UnitMonitorType>

Information

   

Module Type

DataSourceModuleType

Input Type

None

Output Type

System.SnmpData

Implementation

Composite

Library

System.NetworkManagement.Monitoring