Search Exchange

Search All Sites

Nagios Live Webinars

Let our experts show you how Nagios can help your organization.

Contact Us

Phone: 1-888-NAGIOS-1
Email: sales@nagios.com

Login

Remember Me

Directory Tree

check_esx_cpu_snmp

Rating
5 votes
Favoured:
2
Current Version
1.0.beta
Last Release Date
2019-07-27
Compatible With
  • Nagios 2.x
  • Nagios 3.x
  • Nagios 4.x
License
GPL
Hits
12427
Nagios CSP

Meet The New Nagios Core Services Platform

Built on over 25 years of monitoring experience, the Nagios Core Services Platform provides insightful monitoring dashboards, time-saving monitoring wizards, and unmatched ease of use. Use it for free indefinitely.

Monitoring Made Magically Better

  • Nagios Core on Overdrive
  • Powerful Monitoring Dashboards
  • Time-Saving Configuration Wizards
  • Open Source Powered Monitoring On Steroids
  • And So Much More!
This plugin will catch CPU Cores Load via SNMP the from an VMWare ESXi Server, tested with VMware ESXi, 6.7.0
Model: ProLiant DL360 Gen10 64 Cores
Current Version Supports unimited CPU Cores.

Cpu load value checked by the script is the average of individual CPU core Loads, defined as "one minute load average per processor in the range 0-100 where 100 is full utilization" at https://kb.vmware.com/s/article/1013445

SYNTAX: ./check_esx_cpu_snmp "
Version: 1.0

SYNTAX:

./check_esx_cpu_snmp "

EXAMPLE:

./check_esx_cpu_snmp myhost.mydomain public 60 80

DESCRIPTION:
This plugin will catch CPU Core Load via SNMP the from an VMWare ESX Server, tested with VMware ESXi, 6.7.0
Model: ProLiant DL360 Gen10 64 Cores
Current Version Supports unimited CPU Cores. Make sure that the script is fetiching the
right DATA. You can test it with the following command:

snmpwalk -m ALL -c public -v 2c myhost.mydomain .1.3.6.1.2.1.25.3.3.1.2

snmpwalk -m ALL -c public -v 2c myhost.mydomain .1.3.6.1.2.1.25.3.3.1.2.x


Cpu load value checked by the script is the average of individual CPU core Loads, defined as "one minute load average per processor in the range 0-100 where 100 is full utilization" at https://kb.vmware.com/s/article/1013445

REFERENCES:
CPU utilization https://kb.vmware.com/s/article/2145018

The agent reports a one minute load average per processor in the range 0-100 where 100 is full utilization.
In this example, you see two cpus in this virtual appliance using less than 15-20% of each CPU:

HOST-RESOURCES-MIB::hrProcessorLoad.1 = INTEGER: 15
HOST-RESOURCES-MIB::hrProcessorLoad.2 = INTEGER: 20

More details of the processors are available in hrDeviceTable:

HOST-RESOURCES-MIB::hrDeviceDescr.2 = STRING: CPU Pkg/ID/Node: 0/0/0 Intel(R) Xeon(R) CPU E5-2680 0 @ 2.70GHz
HOST-RESOURCES-MIB::hrDeviceDescr.2 = STRING: CPU Pkg/ID/Node: 0/1/0 Intel(R) Xeon(R) CPU E5-2680 0 @ 2.70GHz

MIB FILE:

https://kb.vmware.com/s/article/1013445


Created: 2019-07-26 Author : Mattia Pezzetta

Changes: 2019-07-31 Version 1.0 Update: use snmpwalk instead of snmpget
Reviews (4)
Hi Sir,

I have a problem, i can't download your plug-in, the Google drive link is expired, can you update the link please or send me your email and I'll contact you.

Thanks.
byzezar, January 8, 2021
Congratulations mpezzetta! Great plugin. It worked perfectly with our VMware ESXi, 6.7.0 in ProLiant BL460c Gen8 32 cores servers.

Simple and effective, reccomended to anyone that needs to monitor CPU usage from ESXi.

We're also using check_esx_mem_snmp from mpezzetta to monitor memory usage.

You can consider include it in github so the community can help to improve it.
byalex3105, September 7, 2020
How about, how would you use the script on several computers, such as hostgroup .. since it does not allow to use the $ HOSTADDRESS $ parameter
byFreddy, May 25, 2020
Hello. great plugin!
I slightly modified it so I can have perfdata output.

if [ $exit_red -eq 0 ]; then
echo "OK - $NUMBEROFCPU CPU AVG. LOAD Normal - Current Load: $ESX_CPU % | Load=$ESX_CPU%;$3;$4"
exitstatus=$STATE_OK

elif [ $exit_red -eq "1" ]; then
echo "WARNING - $NUMBEROFCPU CPU AVG. LOAD more then $3% - Current Load: $ESX_CPU % | Load=$ESX_CPU%;$3;$4"
exitstatus=$STATE_WARNING

elif [ $exit_red -eq "2" ]; then
echo "CRITICAL - $NUMBEROFCPU CPU AVG. LOAD more then $4% - Current Load: $ESX_CPU % | Load=$ESX_CPU%;$3;$4"
exitstatus=$STATE_CRITICAL