原文:http://www.weiruoyu.cn/?p=369
之前一直有这个想法,网上写的都是抄来抄去的,在这里我转发
hrs219
哥们自己写shell脚本,有注释,比较适合初级人员学习,我在这里重新整理了一下格式转发出来
1.监控cpu负载
#!/bin/bash
IP=`ifconfig eth0 |sed -n '2p'|awk '{print $2}'|cut -f 2 -d ':'`
cpu_num=`grep -c 'model name' /proc/cpuinfo`
load_15=`uptime | awk '{print $NF}'`
average_load=`echo "scale=2;a=$load_15/$cpu_num;if(length(a)==scale(a)) print 0;print a" | bc`
average_int=`echo $average_load | cut -f 1 -d "."`
load_warn=0.70
if
(($average_int > 0));
then
echo "$IP服务器15分钟的系统平均负载为$average_load,超过警戒值1.0,请立即处理!!!"
else
load_now=`expr $average_load \> $load_warn`
if
(($load_now == 1));
then
echo "$IP服务器15分钟的系统平均负载达到 $average_load,超过警戒值0.70,请及时处理。"
else
echo "ok"
fi
fi
2.监控cpu使用率
cpu_idle=`top -b -n 1 |grep Cpu |awk '{print $5}'|cut -f1 -d '.'`
if
(($cpu_idle <20));
then
echo `date`"$IP服务器cpu剩余$cpu_idle%,使用率已经超过80%,请及时处理。" |mail -s "cpu over 80%" 7545300@qq.com
fi
测试脚本
cpu_idle=`top -b -n 1 |grep Cpu |awk '{print $5}'|cut -f1 -d '.'`
if
(($cpu_idle <20));
then
echo `date`"$IP服务器cpu剩余$cpu_idle%,使用率已经超过80%,请及时处理。" |mail -s "cpu over 80%" 54545300@qq.com
else
echo "ok test"
fi
详细参考:http://www.weiruoyu.cn/?p=369
转载于:https://blog.51cto.com/weiruoyu/927258