Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5088769
  • 博文数量: 1641
  • 博客积分: 16831
  • 博客等级: 上将
  • 技术积分: 12449
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-25 07:23
  • 认证徽章:
个人简介

柔中带刚,刚中带柔,淫荡中富含柔和,刚猛中荡漾风骚,无坚不摧,无孔不入!

文章分类

全部博文(1641)

文章存档

2019年(1)

2018年(19)

2017年(68)

2016年(61)

2015年(51)

2014年(201)

2013年(224)

2012年(644)

2011年(372)

分类: 系统运维

2013-11-27 16:51:06

shell监控脚本-监控系统负载
2013-03-27 13:30:45
标签: 脚本 监控 系统负载
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://dngood.blog.51cto.com/446195/1163560
shell监控脚本-监控系统负载


注意:请先参考 shell监控脚本-准备工作,监控脚本在 rhel5 下测试正常,其它版本的linux 系统请自行测试
#监控系统负载
cat chk_load.sh 
#!/bin/bash 

#script_name:chk_load.sh 
#check system load 

#last update 20130320 by dongnan 
#bbs# http://bbs.ywwd.net/ 
#blog# http://dngood.blog.51cto.com 

#ssh root@xen "/bin/cat /proc/loadavg" | awk '{print $1}' | awk -F. '{print $1}' 
#0 
#variables 
ssh=/usr/bin/ssh 
sh_dir=/root/sh/ 
crondir=${sh_dir}crontab 
source ${sh_dir}CONFIG 
hosts="$LINUX_WEB_HOSTS"
let loadlimit=1
log=${crondir}/log/system_load.log 
#main 
#主循环遍历机器 
for HOST in $hosts ;do 
    #主循环遍历机器 
LOAD=$($ssh -o ConnectTimeout=3 root@$HOST "/bin/cat /proc/loadavg" | awk '{print $1}' | awk -F. '{print $1}') 
    #无法连接的主机,跳过本次循环 
    test -z "$LOAD" && continue 
    #true 
    if [ "$LOAD" -lt "$loadlimit" ];then 
        #如果找到load文件,则发送解除报警邮件 
        if [ -f $crondir/log/"$HOST".load ];then 
            #sms 
            #for mobile in $MOBILES;do 
                #echo "$HOST load ok"|/usr/local/bin/gammu --sendsms TEXT "$mobile" -unicode 
            #done 
            #mail 
            for mail in $MAILS;do 
                echo "$HOST load ok" | mail -s "$HOST load ok" $mail 
            done 
            #删除flag 
            rm -f $crondir/log/"$HOST".load 
        fi 
    #false  
    else 
         #不能找到load文件,则发送报警邮件 
         if [ ! -f $crondir/log/"$HOST".load ];then 
             #sms 
             #for mobile in $MOBILES;do 
                 #echo ""$HOST" overload"|/usr/local/bin/gammu --sendsms TEXT "$mobile" -unicode 
             #done 
             #mail 
             for mail in $MAILS;do 
                 echo "$HOST overload" | mail -s "$HOST overload" $mail 
             done 
             #生成flag 
             echo "overload" >$crondir/log/"$HOST".load 
             #log 
             date +'%F %T' >>$log 
             echo "$HOST overload" >> $log 
         fi 
#     
    fi 
#   
done 
结束
更多请:  
linux 系统运维  37275208  
vmware 虚拟化  166682360
本文出自 “dongnan” 博客,请务必保留此出处http://dngood.blog.51cto.com/446195/1163560
阅读(402) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册