Network Management
How we poll CPU for Net-SNMP devices (Linux and F5s)
This article provides information on how Orion polls CPU CPU for Net-SNMP devices (Linux and F5s). There are 3 types of POLLERS for CPU with NET-SNMP. Four if you include 4th option we have added for F5s.
First published date
Last published date
Overview
- There are 3 types of POLLERS for CPU with NET-SNMP.
- Four types of polling jobs, if you include 4th option we have added for F5's.
Product section
Resolution
N.Cpu.SNMP.NetSnmpCpuIdle
|
OID = ssCPUIdle |
1.3.6.1.4.1.2021.11.11.0 |
Formula:
CPU Load = 100 – CPUIdle (example CPUIdle = 0 THEN CPULoad = 100 -0 = 100% Utilized)
|
Cpu.SNMP.CpuNetSnmpCpuIdle |
CPU poller for devices which support UCD-SNMP-MIB (NetSNMP on varios Unix based OS) |
N.Cpu.SNMP.NetSnmpSystemStats
ssCPURawIdle = 1.3.6.1.4.1.2021.11.53.0
Now ships with latest Versions of NPM:
UnDp: https://thwack.solarwinds.com/docs/DOC-101021
Please note that Thwack is a community space where users may post any content as a suggestion or recommendations to you for your internal use. The information set forth herein may come from third-party websites or customers. SolarWinds is not liable for any downtime or any issue that may occur if you perform the following suggestions on the link provided. Your organization should internally review and assess to what extent, if any, such custom scripts or recommendations will be incorporated into your environment.
Firstly, Net-SNMP v5.4.2.1 and above depreciated ssCPUIdle as it is buggy.
(with the value of the OID reporting wrong at times) with the hrProcessorLoad.
Request you to upgrade to at least 5.4.2.1, or to go ahead with recommendation to 5.5: http://www.net-snmp.org
If not polling, but old poll is showing in Nodes table, reset CPU as follows,
get NodeID from Node Details Web URL.
UPDATE Nodes SET CPULoad = -2 WHERE NodeID = 170
-
- OID_ssCpuRawIdle
- OID_ssCpuRawInterrupt
- OID_ssCpuRawKernel
- OID_ssCpuRawNice
- OID_ssCpuRawSystem
- OID_ssCpuRawUser
- OID_ssCpuRawWait
Formula:
Total = mTotalCpuRawIdle + mTotalCpuRawInterupt + mTotalCpuRawKernel + mTotalCpuRawNice + mTotalCpuRawSystem + mTotalCpuRawUser + mTotalCpuRawWait
CPULoad = 100 - (mTotalCpuRawIdle * 100) / (Total)
|
Cpu.SNMP.CpuNetSnmpSystemStats |
CPU poller for devices which support UCD-SNMP-MIB (NetSNMP on varios Unix based OS) |
HRProcessorLOAD:
Orion, by default tries to poll the CPU utilization in the Host-Resources MIB
HOST-RESOURCES-MIB - hrProcessorLoad 1.3.6.1.2.1.25.3.3.1.2
And takes result of that OID and stores as follows:
100.0 * (Sample2 – Sample1) / (TimeInSeconds2 – TimeInSeconds1)
Also you can just browse the MIB walks they see types of results you would get.
Value stored in CPU in Nodes and CPULoad_Detail is all four values above divided by 4
Orion, by default tries to poll the CPU utilization in the Host-Resources MIB
|
HOST-RESOURCES-MIB |
1.3.6.1.2.1.25.3.3.1.2.1 |
hrProcessorLoad.1 |
25 |
|
HOST-RESOURCES-MIB |
1.3.6.1.2.1.25.3.3.1.2.2 |
hrProcessorLoad.2 |
9 |
|
HOST-RESOURCES-MIB |
1.3.6.1.2.1.25.3.3.1.2.3 |
hrProcessorLoad.3 |
9 |
|
HOST-RESOURCES-MIB |
1.3.6.1.2.1.25.3.3.1.2.4 |
hrProcessorLoad.4 |
12 |
|
Cpu.SNMP.CpuHrProcessorLoad |
CPU poller for devices which support HOST-RESOURCES-MIB (Windows) |
Linux F5 CPU Poller
| N.Cpu.SNMP.F5BigIpSystemHost | Host CPU performance statistics poller for F5 Big-IP devices which support F5-BIGIP-SYSTEM-MIB Poller utilizes single GetTable which contains OIDs:
CPU load value is computed from two subsequent polls using formula:
|
| N.Cpu.SNMP.F5BigIpSystemHostMultiCpu | Host CPU performance statistics poller for F5 Big-IP multi-CPU devices which support F5-BIGIP-SYSTEM-MIB Poller utilizes GetSubTree to gather multi core CPU Load using OID:
|
| N.Cpu.SNMP.F5BigIpSystemTmm |
TMM CPU performance statistics poller for F5 Big-IP devices which support F5-BIGIP-SYSTEM-MIB
Formula = 100-([sysStatTmIdleCycles]/[sysStatTmTotalCycles]*100)? |