SHELL開發CPU空閒率插件

 

 

#!/bin/bash #=============================================== # Author        :        JC # Email         :        [email protected] # ChangeLog     :        2013.5.4 # # Description : Check the CPU-Utilization rate #=============================================== STATE_OK=0 STATE_WARNING=1 STATE_CRITICAL=2 STATE_UNKNOWN=3   cpu_idle=`top -b -n 1 | grep Cpu | awk '{print $5}' | cut -f 1 -d "."`  PROGNAME=$(basename $0) RELEASE="Revision 1.2.0" AUTHOR="(c) 2013 JC ([email protected])"  print_release() {     echo "$RELEASE $AUTHOR" }                  print_usage() {         echo ""         echo "$PROGNAME $RELEASE - CPU Utilization rate check script for Nagios"         echo ""         echo "Usage: check_cpurate.sh"         echo ""         echo "  -v  check the version"         echo ""     echo "Usage: $PROGNAME"     echo ""     exit 0 }                   print_help() {         print_usage         echo ""         echo "This plugin will check CPU Utilization rate  "         echo ""         exit 0 }                   while [ $# -gt 0 ]; do     case "$1" in         -v | --version)                 print_release                 exit $STATE_OK                 shift                 ;; *)   echo "Unknown argument: $1"             print_usage             exit $STATE_UNKNOWN             ;;         esac shift done  case `uname` in         Linux)  PERCENT=$( bc<<<"scale=2;621/977"|tr '^.' ' ') cpu_idle=`top -b -n 1 | grep Cpu | awk '{print $5}' | cut -f 1 -d "."` if (("$cpu_idle"  < 95));then echo "OK- Utilization rate $cpu_idle (free:$PERCENT%) Free CPU" exit $STATE_OK else   echo "CRITICAL- CPU Utilization rate $cpu_idle ($PERCENT%) Free CPU" exit $STATE_CRITICAL fi ;;   *) echo "UNKNOWN: `uname` not yet supported by this plugin. Coming soon !" exit $STATE_UNKNOWN ;; esac

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章