shell監控腳本-監控系統負載

shell監控腳本-監控系統負載

注意:請先參考 shell監控腳本-準備工做,監控腳本rhel5 下測試正常,其它版本的linux 系統請自行測試
#監控系統負載linux

  
  
  
  
  1. cat chk_load.sh shell

  2. #!/bin/bash bash

  3. # 運維

  4. #script_name:chk_load.sh ssh

  5. #check system load ide

  6. # 測試

  7. #last update 20130320 by dongnan spa

  8. #bbs# http://bbs.ywwd.net/ .net

  9. #blog# http://dngood.blog.51cto.com code

  10. #

  11. #ssh root@xen "/bin/cat /proc/loadavg" | awk '{print $1}' | awk -F. '{print $1}'

  12. #0

  13. #variables

  14. ssh=/usr/bin/ssh

  15. sh_dir=/root/sh/

  16. crondir=${sh_dir}crontab

  17. source ${sh_dir}CONFIG

  18. hosts="$LINUX_WEB_HOSTS"

  19. let loadlimit=1

  20. log=${crondir}/log/system_load.log

  21. #main

  22. #主循環遍歷機器

  23. for HOST in $hosts ;do

  24.    #主循環遍歷機器

  25. LOAD=$($ssh -o ConnectTimeout=3 root@$HOST "/bin/cat /proc/loadavg" | awk '{print $1}' | awk -F. '{print $1}')

  26.    #沒法鏈接的主機,跳過本次循環

  27.    test -z "$LOAD" && continue

  28.    #true

  29.    if [ "$LOAD" -lt "$loadlimit" ];then

  30.        #若是找到load文件,則發送解除報警郵件

  31.        if [ -f $crondir/log/"$HOST".load ];then

  32.            #sms

  33.            #for mobile in $MOBILES;do

  34.                #echo "$HOST load ok"|/usr/local/bin/gammu --sendsms TEXT "$mobile" -unicode

  35.            #done

  36.            #mail

  37.            for mail in $MAILS;do

  38.                echo "$HOST load ok" | mail -s "$HOST load ok" $mail

  39.            done

  40.            #刪除flag

  41.            rm -f $crondir/log/"$HOST".load

  42.        fi

  43.    #false  

  44.    else

  45.         #不能找到load文件,則發送報警郵件

  46.         if [ ! -f $crondir/log/"$HOST".load ];then

  47.             #sms

  48.             #for mobile in $MOBILES;do

  49.                 #echo ""$HOST" overload"|/usr/local/bin/gammu --sendsms TEXT "$mobile" -unicode

  50.             #done

  51.             #mail

  52.             for mail in $MAILS;do

  53.                 echo "$HOST overload" | mail -s "$HOST overload" $mail

  54.             done

  55.             #生成flag

  56.             echo "overload" >$crondir/log/"$HOST".load

  57.             #log

  58.             date +'%F %T' >>$log

  59.             echo "$HOST overload" >> $log

  60.         fi

  61. #    

  62.    fi

  63. #  

  64. done

結束更多請:  linux 系統運維  37275208  vmware 虛擬化  166682360

相關文章
相關標籤/搜索