Jquery中文網 mm6666com单双中特 www.wvbtf.icu
Jquery中文網 >  服務器技術  >  日志與監控  >  正文 nagios監控cpu使用率的腳本

王中王单双中特:nagios監控cpu使用率的腳本

發布時間:2014-08-15   編輯:mm6666com单双中特 www.wvbtf.icu
nagios監控cpu使用率的腳本

mm6666com单双中特 www.wvbtf.icu 學習本腳本,請首先學習掌握which command與while getopts命令,以助于理解。
通過使用/usr/bin/procinfo或/usr/bin/sar命令獲取數據。
 

復制代碼 代碼如下:

#!/bin/sh
# Filename: check_cpu.sh
# Version 0.0.2 - Jan/2009
# Changes: improved grabbing of the idle cpu time
#
# by Thiago Varela -

procinfo=`which procinfo 2>/dev/null`
sar=`which sar 2>/dev/null`

function help {
 echo -e "\n\tThis plugin shows the % of used CPU, using either procinfo or sar (whichever is available)\n\n\t$0:\n\t\t-c <integer>\tIf the % of used CPU is above <integer>, returns CRITICAL state\n\t\t-w <integer>\tIf the % of used CPU is below CRITICAL and above <integer>, returns WARNING state\n"
 exit -1
}

# Getting parameters:
while getopts "w:c:h" OPT; do
 case $OPT in
  "w") warning=$OPTARG;;
  "c") critical=$OPTARG;;
  "h") help;;
 esac
done

# Checking parameters:
( [ "$warning" == "" ] || [ "$critical" == "" ] ) && echo "ERROR: You must specify warning and critical levels" && help
[[ "$warning" -ge  "$critical" ]] && echo "ERROR: critical level must be highter than warning level" && help

# Assuring that the needed tools exist:
( ( [ -f $procinfo ] && command="procinfo") ||  [ -f $sar ] ) || \
 ( echo "ERROR: You must have either procinfo or sar installer in order to run this plugin" && exit -1 )

# Doing the actual check:
( [ "$command" == "procinfo" ] && idle=`$procinfo | grep idle | cut -d% -f1 | awk '{print $NF}' | cut -d. -f1`) || \
 idle=`$sar | tail -1 | awk '{print $8}' | cut -d. -f1`

used=`expr 100 - $idle`

# Comparing the result and setting the correct level:
if [[ $used -ge $critical ]]; then
        msg="CRITICAL"
        status=2
else if [[ $used -ge $warning ]]; then
        msg="WARNING"
        status=1
     else
        msg="OK"
        status=0
     fi
fi

# Printing the results:
echo "$msg - CPU used=$used% idle=$idle% | 'CPU Usage'=$used%;$warning;$critical;"

# Bye!
exit $status

示例:
一、被監控機端
 

復制代碼 代碼如下:

將腳本保存在被監控機的/usr/local/nagios/libexec目錄中。
#chown nagios.nagios check_cpu.sh

編輯/usr/local/nagios/etc/nrpe.cfg,增加命令:
command[check_cpu_233]=/usr/local/nagios/libexec/check_cpu.sh -w 60 -c 80

二、監控機端
增加如下的服務監測
 

復制代碼 代碼如下:
define service{
   host_name              client-233
   use              generic-service
   check_command       check_nrpe!check_cpu_233
   service_description    check_cpu_233
   notifications_enabled  1
   event_handler_enabled  1
   notification_period    t247
   check_period           t247
   max_check_attempts     3
   check_interval         5
   contact_groups         tech-admins
   retry_check_interval   2
   notification_options   w,u,c
}

您可能感興趣的文章:
shell腳本統計多個CPU利用率
nagios監控cpu使用率的腳本
監控CPU使用率的三種方法(shell腳本)
磁盤空間使用狀況檢測腳本
nagios檢測cpu的插件(bash腳本)
監測服務器內存、磁盤、cpu、swap的腳本
監控linux中CPU 內存 磁盤數據的shell腳本(圖文)
監控硬盤使用率的shell腳本
Nagios內存監控腳本
找出1小時內占用cpu最多的10個進程的shell腳本

上一篇:nagios報警設置
[關閉]
四川麻将技巧 太子中心 三肖选1肖 北京塞车计划全天计划 北京福彩pk10 重庆时时计划人工在线 重庆时时综合走势图 重庆时时彩手机APP 重庆时时彩专家杀号 时时有什么投注技巧 手机怎么玩快速时时 北京pk10冠军选号技巧 双色球开奖 pk10高手论坛交流区 双色球开奖数据地区 pk10单双长期稳赚 腾龙时时彩计划软件安卓版