System.NetworkManagement.NetworkAdapter.Utilization
Applies To: System Center 2012 - Operations Manager, System Center 2012 R2 Operations Manager, System Center 2012 SP1 - Operations Manager
The System.NetworkManagement.NetworkAdapter.Utilization data source module type provides System.Performance.Data type data regarding an SNMP node’s utilization. The current utilization of a port or interface is the ratio, of the total number of bits sent over some interval over the total number of bits that could have been sent in that same interval.
Usage
This module retrieves performance information regarding the utilization on the specified SNMP node. Not all devices provide the information necessary to use this module; you need to know the OIDs for the maximum speed, the number of inbound octets, and the number of outbound octets.
Type Definition
<DataSourceModuleType ID="System.NetworkManagement.NetworkAdapter.Utilization" Accessibility="Public" Batching="false">
<Configuration>
<xsd:element minOccurs="1" name="Interval" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element maxOccurs="1" name="NoOfRetries" type="xsd:unsignedInt" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element maxOccurs="1" name="Timeout" type="xsd:unsignedInt" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="OIDMaxSpeed" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="OIDInOctets" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="OIDOutOctets" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="MaxSpeedFactor" type="xsd:double" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="DefaultValue" type="xsd:double" 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" />
</OverrideableParameters>
<ModuleImplementation Isolation="Any">
<Composite>
<MemberModules>
<DataSource ID="Computation" TypeID="System.NetworkManagement.ComputedPerfProvider.Division">
<Interval>$Config/Interval$</Interval>
<NoOfRetries>$Config/NoOfRetries$</NoOfRetries>
<Timeout>$Config/Timeout$</Timeout>
<SnmpVarBinds>
<SnmpVarBind>
<OID>$Config/OIDMaxSpeed$</OID>
<Syntax>0</Syntax>
<Value VariantType="8" />
</SnmpVarBind>
<SnmpVarBind>
<OID>$Config/OIDInOctets$</OID>
<Syntax>0</Syntax>
<Value VariantType="8" />
</SnmpVarBind>
<SnmpVarBind>
<OID>$Config/OIDOutOctets$</OID>
<Syntax>0</Syntax>
<Value VariantType="8" />
</SnmpVarBind>
</SnmpVarBinds>
<Numerator>
<Product>
<NumericValue>
<BranchValueExpression>
<Expression>
<SimpleExpression>
<ValueExpression>
<Value Type="String">$Target/Property[Type="NetworkLibrary!System.NetworkManagement.NetworkAdapter"]/DuplexMode$</Value>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">FULLDUPLEX</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<TrueValueExpression>
<NumericValue>
<BranchValueExpression>
<Expression>
<SimpleExpression>
<ValueExpression>
<NumericValue>
<Delta DeltaComputationType="RatePerSecond">
<NumericValue>
<!--<Value Type="Double">$Data/SnmpVarBinds/SnmpVarBind[OID="$Config/OIDInOctets$"]/Value$</Value>-->
<XPathQuery Type="Double">SnmpVarBinds/SnmpVarBind[OID="$Config/OIDInOctets$"]/Value</XPathQuery>
</NumericValue>
</Delta>
</NumericValue>
</ValueExpression>
<Operator>GreaterEqual</Operator>
<ValueExpression>
<NumericValue>
<Delta DeltaComputationType="RatePerSecond">
<NumericValue>
<XPathQuery Type="Double">SnmpVarBinds/SnmpVarBind[OID="$Config/OIDOutOctets$"]/Value</XPathQuery>
</NumericValue>
</Delta>
</NumericValue>
</ValueExpression>
</SimpleExpression>
</Expression>
<TrueValueExpression>
<NumericValue>
<BranchValueExpression>
<Expression>
<SimpleExpression>
<ValueExpression>
<NumericValue>
<Division>
<NumericValue>
<Delta DeltaComputationType="RatePerSecond">
<NumericValue>
<XPathQuery Type="Double">SnmpVarBinds/SnmpVarBind[OID="$Config/OIDInOctets$"]/Value</XPathQuery>
</NumericValue>
</Delta>
</NumericValue>
<NumericValue>
<Product>
<NumericValue>
<XPathQuery Type="Double">SnmpVarBinds/SnmpVarBind[OID="$Config/OIDMaxSpeed$"]/Value</XPathQuery>
</NumericValue>
<NumericValue>
<Value Type="Double">$Config/MaxSpeedFactor$</Value>
</NumericValue>
</Product>
</NumericValue>
</Division>
</NumericValue>
</ValueExpression>
<Operator>Greater</Operator>
<ValueExpression>
<NumericValue>
<Value Type="Double">0.125</Value>
</NumericValue>
</ValueExpression>
</SimpleExpression>
</Expression>
<TrueValueExpression>
<NumericValue>
<Product>
<NumericValue>
<Value Type="Double">0.125</Value>
</NumericValue>
<NumericValue>
<XPathQuery Type="Double">SnmpVarBinds/SnmpVarBind[OID="$Config/OIDMaxSpeed$"]/Value</XPathQuery>
</NumericValue>
<NumericValue>
<Value Type="Double">$Config/MaxSpeedFactor$</Value>
</NumericValue>
</Product>
</NumericValue>
</TrueValueExpression>
<FalseValueExpression>
<NumericValue>
<Delta DeltaComputationType="RatePerSecond">
<NumericValue>
<XPathQuery Type="Double">SnmpVarBinds/SnmpVarBind[OID="$Config/OIDInOctets$"]/Value</XPathQuery>
</NumericValue>
</Delta>
</NumericValue>
</FalseValueExpression>
</BranchValueExpression>
</NumericValue>
</TrueValueExpression>
<FalseValueExpression>
<NumericValue>
<BranchValueExpression>
<Expression>
<SimpleExpression>
<ValueExpression>
<NumericValue>
<Division>
<NumericValue>
<Delta DeltaComputationType="RatePerSecond">
<NumericValue>
<XPathQuery Type="Double">SnmpVarBinds/SnmpVarBind[OID="$Config/OIDOutOctets$"]/Value</XPathQuery>
</NumericValue>
</Delta>
</NumericValue>
<NumericValue>
<Product>
<NumericValue>
<XPathQuery Type="Double">SnmpVarBinds/SnmpVarBind[OID="$Config/OIDMaxSpeed$"]/Value</XPathQuery>
</NumericValue>
<NumericValue>
<Value Type="Double">$Config/MaxSpeedFactor$</Value>
</NumericValue>
</Product>
</NumericValue>
</Division>
</NumericValue>
</ValueExpression>
<Operator>Greater</Operator>
<ValueExpression>
<NumericValue>
<Value Type="Double">0.125</Value>
</NumericValue>
</ValueExpression>
</SimpleExpression>
</Expression>
<TrueValueExpression>
<NumericValue>
<Product>
<NumericValue>
<Value Type="Double">0.125</Value>
</NumericValue>
<NumericValue>
<XPathQuery Type="Double">SnmpVarBinds/SnmpVarBind[OID="$Config/OIDMaxSpeed$"]/Value</XPathQuery>
</NumericValue>
<NumericValue>
<Value Type="Double">$Config/MaxSpeedFactor$</Value>
</NumericValue>
</Product>
</NumericValue>
</TrueValueExpression>
<FalseValueExpression>
<NumericValue>
<Delta DeltaComputationType="RatePerSecond">
<NumericValue>
<XPathQuery Type="Double">SnmpVarBinds/SnmpVarBind[OID="$Config/OIDOutOctets$"]/Value</XPathQuery>
</NumericValue>
</Delta>
</NumericValue>
</FalseValueExpression>
</BranchValueExpression>
</NumericValue>
</FalseValueExpression>
</BranchValueExpression>
</NumericValue>
</TrueValueExpression>
<FalseValueExpression>
<NumericValue>
<BranchValueExpression>
<Expression>
<SimpleExpression>
<ValueExpression>
<NumericValue>
<Division>
<NumericValue>
<Summation>
<NumericValue>
<Delta DeltaComputationType="RatePerSecond">
<NumericValue>
<XPathQuery Type="Double">SnmpVarBinds/SnmpVarBind[OID="$Config/OIDInOctets$"]/Value</XPathQuery>
</NumericValue>
</Delta>
</NumericValue>
<NumericValue>
<Delta DeltaComputationType="RatePerSecond">
<NumericValue>
<XPathQuery Type="Double">SnmpVarBinds/SnmpVarBind[OID="$Config/OIDOutOctets$"]/Value</XPathQuery>
</NumericValue>
</Delta>
</NumericValue>
</Summation>
</NumericValue>
<NumericValue>
<Product>
<NumericValue>
<XPathQuery Type="Double">SnmpVarBinds/SnmpVarBind[OID="$Config/OIDMaxSpeed$"]/Value</XPathQuery>
</NumericValue>
<NumericValue>
<Value Type="Double">$Config/MaxSpeedFactor$</Value>
</NumericValue>
</Product>
</NumericValue>
</Division>
</NumericValue>
</ValueExpression>
<Operator>Greater</Operator>
<ValueExpression>
<Value Type="Double">0.125</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<TrueValueExpression>
<NumericValue>
<BranchValueExpression>
<Expression>
<SimpleExpression>
<ValueExpression>
<NumericValue>
<Delta DeltaComputationType="RatePerSecond">
<NumericValue>
<XPathQuery Type="Double">SnmpVarBinds/SnmpVarBind[OID="$Config/OIDInOctets$"]/Value</XPathQuery>
</NumericValue>
</Delta>
</NumericValue>
</ValueExpression>
<Operator>GreaterEqual</Operator>
<ValueExpression>
<NumericValue>
<Delta DeltaComputationType="RatePerSecond">
<NumericValue>
<XPathQuery Type="Double">SnmpVarBinds/SnmpVarBind[OID="$Config/OIDOutOctets$"]/Value</XPathQuery>
</NumericValue>
</Delta>
</NumericValue>
</ValueExpression>
</SimpleExpression>
</Expression>
<TrueValueExpression>
<NumericValue>
<BranchValueExpression>
<Expression>
<SimpleExpression>
<ValueExpression>
<NumericValue>
<Division>
<NumericValue>
<Delta DeltaComputationType="RatePerSecond">
<NumericValue>
<XPathQuery Type="Double">SnmpVarBinds/SnmpVarBind[OID="$Config/OIDInOctets$"]/Value</XPathQuery>
</NumericValue>
</Delta>
</NumericValue>
<NumericValue>
<Product>
<NumericValue>
<XPathQuery Type="Double">SnmpVarBinds/SnmpVarBind[OID="$Config/OIDMaxSpeed$"]/Value</XPathQuery>
</NumericValue>
<NumericValue>
<Value Type="Double">$Config/MaxSpeedFactor$</Value>
</NumericValue>
</Product>
</NumericValue>
</Division>
</NumericValue>
</ValueExpression>
<Operator>Greater</Operator>
<ValueExpression>
<NumericValue>
<Value Type="Double">0.125</Value>
</NumericValue>
</ValueExpression>
</SimpleExpression>
</Expression>
<TrueValueExpression>
<NumericValue>
<Product>
<NumericValue>
<Value Type="Double">0.125</Value>
</NumericValue>
<NumericValue>
<XPathQuery Type="Double">SnmpVarBinds/SnmpVarBind[OID="$Config/OIDMaxSpeed$"]/Value</XPathQuery>
</NumericValue>
<NumericValue>
<Value Type="Double">$Config/MaxSpeedFactor$</Value>
</NumericValue>
</Product>
</NumericValue>
</TrueValueExpression>
<FalseValueExpression>
<NumericValue>
<Delta DeltaComputationType="RatePerSecond">
<NumericValue>
<XPathQuery Type="Double">SnmpVarBinds/SnmpVarBind[OID="$Config/OIDInOctets$"]/Value</XPathQuery>
</NumericValue>
</Delta>
</NumericValue>
</FalseValueExpression>
</BranchValueExpression>
</NumericValue>
</TrueValueExpression>
<FalseValueExpression>
<NumericValue>
<BranchValueExpression>
<Expression>
<SimpleExpression>
<ValueExpression>
<NumericValue>
<Division>
<NumericValue>
<Delta DeltaComputationType="RatePerSecond">
<NumericValue>
<XPathQuery Type="Double">SnmpVarBinds/SnmpVarBind[OID="$Config/OIDOutOctets$"]/Value</XPathQuery>
</NumericValue>
</Delta>
</NumericValue>
<NumericValue>
<Product>
<NumericValue>
<XPathQuery Type="Double">SnmpVarBinds/SnmpVarBind[OID="$Config/OIDMaxSpeed$"]/Value</XPathQuery>
</NumericValue>
<NumericValue>
<Value Type="Double">$Config/MaxSpeedFactor$</Value>
</NumericValue>
</Product>
</NumericValue>
</Division>
</NumericValue>
</ValueExpression>
<Operator>Greater</Operator>
<ValueExpression>
<NumericValue>
<Value Type="Double">0.125</Value>
</NumericValue>
</ValueExpression>
</SimpleExpression>
</Expression>
<TrueValueExpression>
<NumericValue>
<Product>
<NumericValue>
<Value Type="Double">0.125</Value>
</NumericValue>
<NumericValue>
<XPathQuery Type="Double">SnmpVarBinds/SnmpVarBind[OID="$Config/OIDMaxSpeed$"]/Value</XPathQuery>
</NumericValue>
<NumericValue>
<Value Type="Double">$Config/MaxSpeedFactor$</Value>
</NumericValue>
</Product>
</NumericValue>
</TrueValueExpression>
<FalseValueExpression>
<NumericValue>
<Delta DeltaComputationType="RatePerSecond">
<NumericValue>
<XPathQuery Type="Double">SnmpVarBinds/SnmpVarBind[OID="$Config/OIDOutOctets$"]/Value</XPathQuery>
</NumericValue>
</Delta>
</NumericValue>
</FalseValueExpression>
</BranchValueExpression>
</NumericValue>
</FalseValueExpression>
</BranchValueExpression>
</NumericValue>
</TrueValueExpression>
<FalseValueExpression>
<NumericValue>
<Summation>
<NumericValue>
<Delta DeltaComputationType="RatePerSecond">
<NumericValue>
<XPathQuery Type="Double">SnmpVarBinds/SnmpVarBind[OID="$Config/OIDInOctets$"]/Value</XPathQuery>
</NumericValue>
</Delta>
</NumericValue>
<NumericValue>
<Delta DeltaComputationType="RatePerSecond">
<NumericValue>
<XPathQuery Type="Double">SnmpVarBinds/SnmpVarBind[OID="$Config/OIDOutOctets$"]/Value</XPathQuery>
</NumericValue>
</Delta>
</NumericValue>
</Summation>
</NumericValue>
</FalseValueExpression>
</BranchValueExpression>
</NumericValue>
</FalseValueExpression>
</BranchValueExpression>
</NumericValue>
<NumericValue>
<Value Type="Double">800.0</Value>
</NumericValue>
</Product>
</Numerator>
<Denominator>
<Product>
<NumericValue>
<XPathQuery Type="Double">SnmpVarBinds/SnmpVarBind[OID="$Config/OIDMaxSpeed$"]/Value</XPathQuery>
</NumericValue>
<NumericValue>
<Value>$Config/MaxSpeedFactor$</Value>
</NumericValue>
</Product>
</Denominator>
<DefaultValue>$Config/DefaultValue$</DefaultValue>
<ObjectName>Interface</ObjectName>
<CounterName>Utilization %</CounterName>
</DataSource>
</MemberModules>
<Composition>
<Node ID="Computation" />
</Composition>
</Composite>
</ModuleImplementation>
<OutputType>Performance!System.Performance.Data</OutputType>
</DataSourceModuleType>
Parameters
The System.NetworkManagement.NetworkAdapter.Utilization module supports the following configuration parameters:
Parameter | Type | Overrideable | Description |
---|---|---|---|
Interval |
Integer |
True |
Required parameter. Contains the interval, in seconds, at which the probe performs the SNMP operation. |
NoOfRetries |
Integer |
True |
Required parameter. The number of times that an SNMP GET operation will retry if it times out. |
Timeout |
Integer |
True |
Required parameter. The amount of time (in milliseconds) before an SNMP GET operation times out. |
OIDMaxSpeed |
String |
False |
Required parameter. The OID for the maximum speed on the SNMP node. |
OIDInOctets |
String |
False |
Required parameter. The OID for the number of input octets on the SNMP node. |
OIDOutOctets |
String |
False |
Required parameter. The OID for the number of output octets on the SNMP node. |
MaxSpeedFactor |
Integer |
False |
Required parameter. This parameter must be an integer that is used to determine the total number of bits the device is capable of transmitting per second. For example, if the OID of a device specifies an estimate of the bandwidth in a unit of 1,000,000’s of bits per second, a MaxSpeedFactor of 1000000 would be specified to determine the maximum number of bits per second the device can transmit. The 1000000 MaxSpeedFactor would be multiplied by the value of the OIDMaxSpeed to determine the overall maximum speed |
DefaultValue |
Integer |
False |
Required parameter. This parameter must be an integer and is used to specify a number to use when a device does not specify a bandwidth. Specifying this number will avoid a crash caused by a “divide by zero” error when the device either does not specify a bandwidth or malfunctions and returns a zero for its maximum speed. Setting this parameter to 0 will result in a performance value of 0 if the current throughput of the device is either null or unknown. |
Composition
The System.NetworkManagement.NetworkAdapter.Utilization module is a composite module that contains the member modules described in the following table.
Workflow Run Order | Module Type | Usage |
---|---|---|
1 |
Calculates the network utilization as a percentage. |
Related Modules
Module Type | Usage |
---|---|
Retrieves information about the largest area of contiguous bytes from the memory pool that are currently unused, expressed as a percentage of the free memory in the memory pool. |
External Module References
none
Sample
The following XML example shows how System.NetworkManagement.NetworkAdapter.Utilization is used in a rule to retrieve the network utilization on an SNMP node using ifMIB. Note that the OIDs for the maximum speed, input octets, and output octets are already known, and a max speed factor is provided.
<Rule ID="System.NetworkManagement.ifMIB.NetworkAdapter.CurrentUtilization" Enabled="false" Target="NetworkLibrary!System.NetworkManagement.ifMIB_Base_NetworkAdapter" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>PerformanceCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="System.NetworkManagement.NetworkAdapter.Utilization">
<Interval>300</Interval>
<NoOfRetries>3</NoOfRetries>
<Timeout>3500</Timeout>
<OIDMaxSpeed>.1.3.6.1.2.1.31.1.1.1.15.$Target/Property[Type="NetworkLibrary!System.NetworkManagement.NetworkAdapter"]/Index$</OIDMaxSpeed>
<OIDInOctets>.1.3.6.1.2.1.31.1.1.1.6.$Target/Property[Type="NetworkLibrary!System.NetworkManagement.NetworkAdapter"]/Index$</OIDInOctets>
<OIDOutOctets>.1.3.6.1.2.1.31.1.1.1.10.$Target/Property[Type="NetworkLibrary!System.NetworkManagement.NetworkAdapter"]/Index$</OIDOutOctets>
<MaxSpeedFactor>1000000</MaxSpeedFactor>
<DefaultValue>0.0</DefaultValue>
</DataSource>
</DataSources>
<ConditionDetection ID="CollectionFilter" TypeID="System.NetworkManagement.ExpressionFilter">
<Expression />
<SuppressionSettings>
<MatchCount>3</MatchCount>
<SampleCount>3</SampleCount>
</SuppressionSettings>
</ConditionDetection>
<WriteActions>
<WriteAction ID="WriteToDB" TypeID="SystemCenter!Microsoft.SystemCenter.CollectPerformanceData" />
<WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData" />
</WriteActions>
</Rule>
Information
Module Type |
|
Input Type |
None |
Output Type |
|
Implementation |
Composite |
Library |
System.NetworkManagement.Monitoring |