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#
#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
阅读(805) | 评论(0) | 转发(0) |