真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Nagios如何監(jiān)控程序占用資源

這篇文章主要為大家展示了“Nagios如何監(jiān)控程序占用資源”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Nagios如何監(jiān)控程序占用資源”這篇文章吧。

創(chuàng)新互聯(lián)服務(wù)項目包括左貢網(wǎng)站建設(shè)、左貢網(wǎng)站制作、左貢網(wǎng)頁制作以及左貢網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,左貢網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到左貢省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

1、shell腳本需求分析:

   能設(shè)置cpu,mem的閾值,資源占用超過閾值就報警。

   要能判斷這個進(jìn)程是否存在,若有一個不存在,則報警。

2、shell腳本執(zhí)行效果如下:

 1、如果輸入格式不正確,則輸出幫助信息

[root@center230 libexec]# shcomponent_resource.sh

Usage parament:

   component_resource.sh [--cpu] [--mem]

Example:

   component_resource.sh --cpu 50 --mem 50

2、若沒超出閾值,輸出資源占用情況,退出值為0

[root@center230 libexec]# shcomponent_resource.sh  --cpu 50 --mem 50

VueSERVER_cpu_use=5.6% VueCache_cpu_use=1.9%VueAgent_cpu_use=0.0% VueCenter_cpu_use=0.0% VueDaemon_cpu_use=0.0%;VueSERVER_mem_use=0.2% VueCache_mem_use=7.4% VueAgent_mem_use=0.5% VueCenter_mem_use=0.1%VueDaemon_mem_use=0.0%

[root@center230 libexec]# echo $?

0

3、若超出閾值,輸出資源占用情況,退出值為2

[root@center230 libexec]# shcomponent_resource.sh  --cpu 5 --mem 5

VueSERVER_cpu_use=9.4% VueCache_cpu_use=0.0%VueAgent_cpu_use=0.0% VueCenter_cpu_use=0.0% VueDaemon_cpu_use=0.0%;VueSERVER_mem_use=0.2% VueCache_mem_use=7.4% VueAgent_mem_use=0.5%VueCenter_mem_use=0.1% VueDaemon_mem_use=0.0%

[root@center230 libexec]# echo $?

2

4、若進(jìn)程不存在,輸出down掉的進(jìn)程,以及正常使用中的進(jìn)程資源情況,退出值為2

[root@yckj scripts]# sh component_resource.sh--cpu 50 --mem 50

Current VueDaemon VueCenter VueAgent VueCache VueSERVER is down. 

[root@yckj scripts]# echo $?

2

3、Shell腳本代碼如下:

[root@center230 libexec]# catcomponent_resource.sh
#!/bin/sh
#author:yangrong
#date:2014-05-20
#mail:10286460@qq.com
 
#pragrom_list=(VueDaemon VueCenter VueAgentVueCache VueSERVER VUEConnector Myswitch Slirpvde)
pragrom_list=(VueDaemon VueCenter VueAgentVueCache VueSERVER)
 
####獲取cpu閾值和mem閾值#######
case $1 in
 --cpu)
   cpu_crit=$2
  ;;
 --mem)
   mem_crit=$2
  ;;
esac
 
case $3 in
 --cpu)
   cpu_crit=$4
  ;;
 --mem)
   mem_crit=$4
  ;;
esac
 
 
 
###判斷傳參數(shù)量,如果不為4,則var值為1,var0則正常####
if [[ $1 == $3  ]];then
       var=1   
elif [ $# -ne 4 ] ;then
       var=1
else
       var=0
fi
 
 
###打印錯誤提示信息
if [ $var -eq 1 ];then
   echo "Usage parament:"
   echo "    $0 [--cpu][--mem]"
   echo ""
   echo "Example:"
   echo "    $0 --cpu 50 --mem50"
   exit
fi
 
 
###把不存在的進(jìn)程放一變量中
num=$(( ${#pragrom_list[@]}-1 ))
 
NotExist=""
for digit in `seq 0 $num`
do
 a=`ps -ef|grep -v grep |grep ${pragrom_list[$digit]}|wc -l`
  if[ $a -eq 0 ];then
    NotExist="$NotExist ${pragrom_list[$digit]}"
    unset pragrom_list[$digit]
  fi
done
#echo"pragrom_list=${pragrom_list[@]}"
 
 
 
####對比進(jìn)程所占資源與閾值大小
cpu_use_all=""
mem_use_all=""
compare_cpu_temp=0
compare_mem_temp=0
for n in ${pragrom_list[@]}
do
  cpu_use=`top -b -n1|grep $n|awk '{print $9}'`
  mem_use=`top -b -n1|grep $n|awk '{print $10}'`
   if[[ $cpu_use == "" ]];then
       cpu_use=0
   fi
   if[[ $mem_use == "" ]];then
       mem_use=0
   fi
 
  compare_cpu=`echo "$cpu_use > $cpu_crit"|bc`
  compare_mem=`echo "$mem_use > $mem_crit"|bc`  
   if[[ $compare_cpu == 1  ]];then
       compare_cpu_temp=1
   fi
   if[[ $compare_mem == 1  ]];then
       compare_mem_temp=1
   fi
 
  cpu_use_all="${n}_cpu_use=${cpu_use}% ${cpu_use_all}"
  mem_use_all="${n}_mem_use=${mem_use}% ${mem_use_all}"
done
 
 
###如果該變量有值,則代表有進(jìn)程down。則退出值為2
if [[ "$NotExist" != ""]];then
 echo -e "Current ${NotExist} isdown.$cpu_use_all;$mem_use_all"
 exit 2
###如果cpu比較值為1,則代表有進(jìn)程占用超過閾值,則退出值為2
elif [[ "$compare_cpu_temp" == 1]];then
   echo -e "$cpu_use_all;$mem_use_all"
   exit 2
 
##如果mem比較值為1,則代表為進(jìn)程mem占用超過閾值,則退出值為2
elif [[ $compare_mem_temp == 1 ]];then
   echo -e "$cpu_use_all;$mem_use_all"
   exit 2
##否則則正常輸出,并輸出所占cpu與內(nèi)存比例
else
   echo -e "$cpu_use_all;$mem_use_all"
   exit 0
fi

以上是“Nagios如何監(jiān)控程序占用資源”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


網(wǎng)頁標(biāo)題:Nagios如何監(jiān)控程序占用資源
分享地址:http://weahome.cn/article/goojpp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部