简单的用shell脚本写一个“监控”程序作为思路,大致为:实时检测系统的内存使用率,如果大于阈值那么报警(如果有条件可以使用短信接口或者实在不行可以使用邮件通知),并记录到日志文件里,如果小于阈值那么正常显示。
#!/bin/bash check_mem () { warning=55 current=$(echo $(echo "scale=0;`free |grep -i mem|awk '{print $3}'` * 100 / `free |grep -i mem|awk '{print $2}'`" | bc)) warning1=55% current1=$(echo $(echo "scale=0;`free |grep -i mem|awk '{print $3}'` * 100 / `free |grep -i mem|awk '{print $2}'`" | bc)%) echo "----------------------" echo -e Warning percent is"\e[31m $warning1\e[m" echo "----------------------" echo -e Current percent is"\e[32m $current1\e[m" echo "----------------------" if [ $current -lt $warning ];then echo "HEALTHY!" else echo "ALERT!!!" && echo "$(date +%Y%m%d%H%M%S)------Mem usage percent is $current1" >> /root/sys_log fi } while : do check_mem && sleep 2 && clear && sleep 2 done
脚本很简单,仅仅作为思路,欢迎大家给出建议!enjoy it!