Table of Contents
Check CPU
Script: check_cpu
It is a plugin to check cpu usage and cpu io wait. It reads cpu data from output of top command and shows
hwi - Time spent handling hardware interrupt routines. (Whenever a peripheral unit want attention form the CPU, it literally pulls a line, to signal the CPU to service it) swi - Time spent handling software interrupt routines. (a piece of code, calls an interrupt routineā¦) st - Time spent on involuntary waits by virtual cpu while hypervisor is servicing another processor (stolen from a virtual machine)
nice - Time spent running niced user processes (User defined priority) wait - Time spent on waiting on IO peripherals (eg. disk)
system - Time spent in kernel space user - Time spent in user space idle - Time spent in idle operations
For all values it sends performance data.
If there are processes with status D they will be shown (to analyze cpu waits).
Standalone installation
From this repository ypu need next to this script:
-
inc_pluginfunctions
shared function for all IML checks written in bash
Syntax
$ check_cpu [-c CRITICAL] [-w WARING] [-i CRITICAL_IO]
Parameters
-w VALUE cpu usage warning level (default: 75)
-c VALUE cpu usage critical level (default: 90)
-i VALUE io wait critical level (default: 50)
-h or --help show this help.
Examples
check_cpu -w 60 -c 80 -i 40
check cpu usage.
It shows a warning if usage is higer 60%.
It shows critical status if usage is higer 80% or io wait is 40%
./check_cpu -w 60 -c 80 -i 40
OK: CPU-USAGE [%] 11.3 ... user: 6.2 - system: 4.1 - idle: 88.7 - wait: 0.0
Limits: usage warn at 60 .. critical at 80 .. io wait limit 40
INFO : cpu is in normal ranges.
Legend:
hwi - Time spent handling hardware interrupt routines. (Whenever a peripheral unit want attention form the CPU, it literally pulls a line, to signal the CPU to service it)
swi - Time spent handling software interrupt routines. (a piece of code, calls an interrupt routine...)
st - Time spent on involuntary waits by virtual cpu while hypervisor is servicing another processor (stolen from a virtual machine)
nice - Time spent running niced user processes (User defined priority)
wait - Time spent on waiting on IO peripherals (eg. disk)
system - Time spent in kernel space
user - Time spent in user space
idle - Time spent in idle operations
|cpu-usage=11.3;60;80;0;100 cpu-wait=0.0;;40;0;100 cpu-system=4.1;;;0;100 cpu-user=6.2;;;0;100 cpu-idle=88.7;;;0;100 cpu-nice=0.0;;;0;100 cpu-hwi=0.5;;;0;100 cpu-swi=0.5;;;0;100 cpu-st=0.0