Build precise queries to find exactly what you need
Press ESC to close
@Petaris
Favorites0
Views
Projects0
Hi, Here is a modification for more accurate results on CentOS/RHEL 6.x. This changes the memUsed_m variable to use a custom calculation instead of just using the Used number from free -m. This is similar to what the other reviewer did for 7.x systems. It uses the number from memTotal_m and then subtracts memFree_m, memBuffer_m, and memCache_m to come up with memUsed_m. You need to comment the original memUsed_m line then add a line after memCache_m as shown: memTotal_m=`echo "$FreeM" |grep Mem |awk '{print $2}'` # Comment This Line #memUsed_m=`echo "$FreeM" |grep Mem |awk '{print $3}'` memFree_m=`echo "$FreeM" |grep Mem |awk '{print $4}'` memBuffer_m=`echo "$FreeM" |grep Mem |awk '{print $6}'` memCache_m=`echo "$FreeM" |grep Mem |awk '{print $7}'` #Add the following line: memUsed_m=$(($memTotal_m-$memFree_m-$memBuffer_m-$memCache_m)) memUsedPrc=`echo $((($memUsed_m*100)/$memTotal_m))||cut -d. -f1` Thanks for the great plugin!
Reviewed 10 years ago
I have updated some syntax to use new methods but the functional change is located on line 11 (12 in the below as I have a comment on line 11). #!/bin/sh # Version 0.2 # # ### History ### # V0.1 Created script from CPU Idle script # V0.2 Handle dicimal compare and output if [ "$1" = "-w" ] && [ "$2" -gt "0" ] && [ "$3" = "-c" ] && [ "$4" -gt "0" ] ; then warn=$2 crit=$4 #>Main Modification CPU Usage = $USAGE %|CPU Usage=$USAGE%;;;;" exit 2 else echo "WARNING - CPU Usage = $USAGE %|CPU Usage=$USAGE%;;;;" exit 1 fi else echo "OK - CPU Usage = $USAGE %|CPU Usage=$USAGE%;;;;" exit 0 fi else echo "$0 - Nagios Plugin for checking CPU Usage in percentage " echo "" echo "Usage: $0 -w -c " echo " = warnlevel and critlevel is warning and critical value for alerts. " echo "" echo "EXAMPLE: /usr/lib64/nagios/plugins/$0 -w 80 -c 90 " echo " = This will send warning alert when CPU Usage percentage is higher than 80%, and send critical when higher than 90%" echo "" exit 3 fi