加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

使用SHELL开发的CPU空闲率插件

发布时间:2016-09-27 00:47:57 所属栏目:MySql教程 来源:站长网
导读:#!/bin/bash #=============================================== # Author : JC # Email : jiechao2013@gmail.com # ChangeLog : 2013.5.4 # # Description : Check the CPU-Utilization rate #=============================================== STATE_OK=
#!/bin/bash 
    
#=============================================== 
    
# Author        :        JC 
    
# Email         :        jiechao2013@gmail.com 
    
# 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 (jiechao2013@gmail.com)"
    
     
    
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

URL:http://www.bianceng.cn/database/MySQL/201410/46082.htm

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读