CPU Usage and Load

Check CPU Performance

Description:

Nagios plugin to check CPU performance statistics.

This script has been tested on the following Linux and Unix platforms:
RHEL 4, RHEL 5, RHEL 6, CentOS 4, CentOS 5, CentOS 6, SUSE, Ubuntu, Debian, AIX 5, AIX 6, FreeBSD 7, Solaris 8, Solaris 9 and Solaris 10.

The script is used to obtain key CPU performance statistics by executing the sar command;
eg. user, system, iowait, steal, nice, idle

The Nagios Threshold test is based on CPU idle percentage only, this is NOT CPU used.

Note for AIX Servers :-
The percentage of ‘idle’ CPU is calculated by dividing ‘physc’ by ‘Maximum Capacity’ where:
* physc indicates the number of physical processors consumed by the logical processor
* Maximum Capacity is the maximum number of processing units this LPAR was defined to ever have.

Support has been added for Nagios Plugin Performance Data for integration with Splunk, NagiosGrapher, PNP4Nagios,
opcp, NagioStat, PerfParse, fifo-rrd, rrd-graph, etc

USAGE: ./check_cpu_perf.sh {warning} {critical}

Example: ./check_cpu_perf.sh 20 10
OK: CPU Idle = 84.10% | CpuUser=12.99; CpuNice=0.00; CpuSystem=2.90; CpuIowait=0.01; CpuSteal=0.00; CpuIdle=84.10:20:10

Note: the option exists to NOT test for a threshold. Specifying 0 (zero) for both warning and critical will always return an exit code of 0.

Current Version

1.2

Last Release Date

2011-09-08

Compatible With

  • Nagios 3.x
  • Nagios 4.x
  • Nagios XI

Owner

License

GPL


Project Notes
Reviews (4) Add a Review
We get this unknown error every now & then
by ravikiran189, April 30, 2015

./check_cpu_perf.sh: line 200: [: -lt: unary operator expected WHen ever we get this, i just login to the server & run sar, then the data populates & the service checks gets OK. Is there any resolution for this bug ?



Awesome
by Simona Miroiu, February 28, 2014

Added package format for Amazon Linux & it works like a charm !



Unary operator expected errors
by jabbasi, May 31, 2013

Not sure what I am doing wrong but I took this scrpit and running it without changing anything from command like and i am getting this error and its not returning any values nagios@cubic:~> ./check_CPU_Perf.sh 20 10 ./check_CPU_Perf.sh: line 200: [: -lt: unary operator expected ./check_CPU_Perf.sh: line 204: [: -lt: unary operator expected OK: i686 nagios@cubic:~> While sar is executable and can be executed by user nagios nagios@cubic:~> sar -u Linux 2.4.19-64GB-SMP (cubic) 05/13/2013 12:00:00 AM CPU %user %nice %system %idle 12:10:00 AM all 3.15 0.00 0.97 95.88 12:20:00 AM all 4.15 0.04 1.11 94.70 12:30:00 AM all 3.69 0.00 0.97 95.34 12:40:00 AM all 3.22 0.00 0.87 95.91 12:50:00 AM all 3.16 0.00 0.90 95.94 01:00:00 AM all 2.95 0.00 0.88 96.17 01:10:00 AM all 7.66 1.98 3.88 86.48 01:20:00 AM all 3.91 0.00 1.14 94.95 01:30:00 AM all 2.84 0.00 0.89 96.27 01:40:00 AM all 2.98 0.00 0.86 96.16 01:50:00 AM all 2.98 0.00 0.96 96.06 02:00:00 AM all 2.91 0.00 0.89 96.20 02:10:00 AM all 2.66 0.00 0.86 96.48 02:20:00 AM all 2.73 0.00 0.83 96.44 02:30:00 AM all 2.99 0.00 1.13 95.88 02:40:00 AM all 1.96 0.00 0.72 97.32 02:50:00 AM all 2.21 0.00 0.74 97.04 03:00:00 AM all 2.81 0.00 0.83 96.36 03:10:00 AM all 3.02 0.00 0.89 96.09 03:20:00 AM all 2.71 0.00 0.79 96.50 03:30:00 AM all 2.97 0.00 0.87 96.16 03:40:00 AM all 2.41 0.00 0.76 96.83 03:50:00 AM all 2.31 0.00 0.72 96.97 04:00:00 AM all 2.18 0.00 0.71 97.11 04:10:00 AM all 2.20 0.00 0.73 97.07 04:20:00 AM all 1.97 0.00 0.71 97.31 04:30:00 AM all 2.61 0.00 0.85 96.53 04:40:00 AM all 2.23 0.00 0.71 97.06 04:50:00 AM all 2.11 0.00 0.69 97.20 05:00:00 AM all 2.46 0.00 0.81 96.73 05:10:00 AM all 2.30 0.00 0.73 96.98 05:20:00 AM all 2.09 0.00 0.69 97.22 05:30:00 AM all 2.39 0.00 0.78 96.83 05:40:00 AM all 2.28 0.00 0.74 96.98 05:50:01 AM all 2.17 0.00 0.71 97.12 06:00:01 AM all 1.99 0.00 0.69 97.32 06:10:00 AM all 3.82 0.00 0.81 95.37 06:20:00 AM all 5.94 0.00 1.07 92.99 06:30:00 AM all 2.21 0.00 0.72 97.08 06:40:00 AM all 3.48 0.00 1.24 95.28 06:50:00 AM all 2.53 0.00 0.76 96.71 07:00:00 AM all 2.30 0.00 0.72 96.98 07:10:00 AM all 2.91 0.00 0.93 96.16 07:20:00 AM all 3.54 0.00 0.95 95.51 07:30:00 AM all 2.65 0.00 0.86 96.49 07:40:00 AM all 3.02 0.00 0.96 96.02 07:50:00 AM all 2.90 0.00 0.86 96.24 08:00:00 AM all 3.28 0.00 0.95 95.77 08:10:00 AM all 3.45 0.00 1.09 95.46 08:20:00 AM all 3.46 0.00 1.02 95.52 08:30:00 AM all 4.98 0.00 1.27 93.75 08:30:00 AM CPU %user %nice %system %idle 08:40:00 AM all 5.69 0.00 1.54 92.78 08:50:00 AM all 6.98 0.00 1.63 91.38 09:00:00 AM all 7.73 0.00 1.94 90.32 09:10:00 AM all 7.65 0.00 1.97 90.37 09:20:00 AM all 8.12 0.00 2.09 89.78 09:30:01 AM all 12.55 0.00 2.46 84.99 09:40:00 AM all 13.31 0.00 2.49 84.19 09:50:00 AM all 11.41 0.00 2.56 86.03 10:00:00 AM all 9.41 0.00 2.37 88.21 10:10:01 AM all 10.06 0.00 2.34 87.60 10:20:00 AM all 9.69 0.00 2.37 87.94 10:30:00 AM all 10.86 0.00 2.55 86.59 Average: all 4.21 0.03 1.17 94.59 nagios@cubic:~>



doesn't work on gentoo
by Majed, July 31, 2011

great except that ot doesn't work on gentoo other than that garphs on pnp4nagios and produces output through nrpe.



Add a Review

You must be logged in to submit a review.

Thank you for your review!

Your review has been submitted and is pending approval.

Recommend

To:


From:


Thank you for your recommendation!

Your recommendation has been sent.

Project Stats
Rating
4.1 (7)
Favorites
0
Views
160,720