We have F5 Load Balancers that are showing CPU Utilization of 100%.
Yet MIB queries for the OIDs that are polled for that metric show all zero values. Why?
[root@DCHost ~]# snmpwalk -v2c -c comm ip 1.3.6.1.4.1.3375.2.1.8.2.3.1.1
SNMPv2-SMI::enterprises.3375.2.1.8.2.3.1.1.3.49.46.48 = STRING: "1.0"
SNMPv2-SMI::enterprises.3375.2.1.8.2.3.1.1.3.49.46.50 = STRING: "1.2"
SNMPv2-SMI::enterprises.3375.2.1.8.2.3.1.1.3.49.46.52 = STRING: "1.4"
SNMPv2-SMI::enterprises.3375.2.1.8.2.3.1.1.3.49.46.54 = STRING: "1.6"
SNMPv2-SMI::enterprises.3375.2.1.8.2.3.1.1.3.50.46.48 = STRING: "2.0"
SNMPv2-SMI::enterprises.3375.2.1.8.2.3.1.1.3.50.46.50 = STRING: "2.2"
SNMPv2-SMI::enterprises.3375.2.1.8.2.3.1.1.3.50.46.52 = STRING: "2.4"
SNMPv2-SMI::enterprises.3375.2.1.8.2.3.1.1.3.50.46.54 = STRING: "2.6"
[root@DCHost ~]# snmpwalk -v2c -c comm ip 1.3.6.1.4.1.3375.2.1.8.2.3.1.28
SNMPv2-SMI::enterprises.3375.2.1.8.2.3.1.28.3.49.46.48 = Counter64: 0
SNMPv2-SMI::enterprises.3375.2.1.8.2.3.1.28.3.49.46.50 = Counter64: 0
SNMPv2-SMI::enterprises.3375.2.1.8.2.3.1.28.3.49.46.52 = Counter64: 0
SNMPv2-SMI::enterprises.3375.2.1.8.2.3.1.28.3.49.46.54 = Counter64: 0
SNMPv2-SMI::enterprises.3375.2.1.8.2.3.1.28.3.50.46.48 = Counter64: 0
SNMPv2-SMI::enterprises.3375.2.1.8.2.3.1.28.3.50.46.50 = Counter64: 0
SNMPv2-SMI::enterprises.3375.2.1.8.2.3.1.28.3.50.46.52 = Counter64: 0
SNMPv2-SMI::enterprises.3375.2.1.8.2.3.1.28.3.50.46.54 = Counter64: 0
[root@DCHost ~]# snmpwalk -v2c -c comm ip 1.3.6.1.4.1.3375.2.1.8.2.3.1.29
SNMPv2-SMI::enterprises.3375.2.1.8.2.3.1.29.3.49.46.48 = Counter64: 0
SNMPv2-SMI::enterprises.3375.2.1.8.2.3.1.29.3.49.46.50 = Counter64: 0
SNMPv2-SMI::enterprises.3375.2.1.8.2.3.1.29.3.49.46.52 = Counter64: 0
SNMPv2-SMI::enterprises.3375.2.1.8.2.3.1.29.3.49.46.54 = Counter64: 0
SNMPv2-SMI::enterprises.3375.2.1.8.2.3.1.29.3.50.46.48 = Counter64: 0
SNMPv2-SMI::enterprises.3375.2.1.8.2.3.1.29.3.50.46.50 = Counter64: 0
SNMPv2-SMI::enterprises.3375.2.1.8.2.3.1.29.3.50.46.52 = Counter64: 0
SNMPv2-SMI::enterprises.3375.2.1.8.2.3.1.29.3.50.46.54 = Counter64: 0
Is the calculation on the Vendor Certification (VC) in use correct?
Is the metric expression for F5 CPU Utilization correct?
<Version>1.0</Version>
<Author>CA</Author>
<FacetType descriptorClass="com.ca.im.core.datamodel.certs.CertificationFacetDescriptorImpl" name="F5TMMCPU">
<Documentation>Support for F5 BigIP TMM CPU Stats</Documentation>
<FacetOf name="Item" namespace="http://im.ca.com/core"/>
<Protocol>SNMP</Protocol>
<MIB>F5-BIGIP-SYSTEM-MIB</MIB>
<DisplayName>F5 BigIP TMM CPU Stats</DisplayName>
<AttributeGroup external="true" list="true" name="F5TMMCPUGroup">
<Attribute name="Index" type="ObjectID">
<IsKey>true</IsKey>
<IsIndex>true</IsIndex>
<Source>1.3.6.1.4.1.3375.2.1.8.2.3.1.1</Source>
</Attribute>
<Attribute name="sysTmmStatTmTotalCycles" type="Long">
<IsKey>false</IsKey>
<NeedsDelta>true</NeedsDelta>
<Source>1.3.6.1.4.1.3375.2.1.8.2.3.1.28</Source>
</Attribute>
<Attribute name="sysTmmStatTmIdleCycles" type="Long">
<IsKey>false</IsKey>
<NeedsDelta>true</NeedsDelta>
<Source>1.3.6.1.4.1.3375.2.1.8.2.3.1.29</Source>
</Attribute>
</AttributeGroup>
<Expressions>
<ExpressionGroup destCert="{http://im.ca.com/normalizer}NormalizedProcessCpuUsageInfo" name="F5TMMCPUDS">
<Expression destAttr="Indexes">Index</Expression>
<Expression destAttr="Names">"F5 TMM CPU " + Index</Expression>
<Expression destAttr="Descriptions">"Statistics for TMM CPU " + Index + " usage"</Expression>
<Expression destAttr="Utilization">100.*(1.-snmpProtectedDiv(sysTmmStatTmIdleCycles,sysTmmStatTmTotalCycles))</Expression>
</ExpressionGroup>
</Expressions>
</FacetType>
</DataModel>
All supported DX NetOps Performance Management releases
F5 CPU Utilization is measured different than many other vendors and can be misleading at first glance.
In this instance we're determining how many idle cycles there were, and if there are none it indicates that ALL CPUs are busy.
This would mean zero values from the targeted OIDs as seen here, which in the case of F5 CPU Utilization means 100% utilization.