当前位置: 技术问答>linux和unix
如何监控网络好坏和系统CPU或内存的压力?
来源: 互联网 发布时间:2016-08-05
本文导语: 如题,用户有反映说有时候程序不稳定,造成系统压力过大。某些时候程序无法正常工作。我早上从程序日志来看,有时候程序会长时间卡在某一步上,重启下就好了。 现在我想写个脚本,在服务器上运行着,监控...
如题,用户有反映说有时候程序不稳定,造成系统压力过大。某些时候程序无法正常工作。我早上从程序日志来看,有时候程序会长时间卡在某一步上,重启下就好了。
现在我想写个脚本,在服务器上运行着,监控一下。1、主机PING网关是不是通的?(主要是想测一下,零辰后网络是不是有异常的时候,比如一会不通,一会又通了)。2、服务器CPU,内存的使用情况(会不会存在CPU,内存占用量过高)。
把这些情况记录到文件中。方便早上来了后查看。谁能给个监控上方式。我目前是通过远程连接访问这台服务器的。
现在我想写个脚本,在服务器上运行着,监控一下。1、主机PING网关是不是通的?(主要是想测一下,零辰后网络是不是有异常的时候,比如一会不通,一会又通了)。2、服务器CPU,内存的使用情况(会不会存在CPU,内存占用量过高)。
把这些情况记录到文件中。方便早上来了后查看。谁能给个监控上方式。我目前是通过远程连接访问这台服务器的。
|
如果只是暂时想知道这些信息 我写了个简单的shell 在CentOS5.4下测试通过 你添加到crontab里即可
根据提示添加一点代码
根据提示添加一点代码
#!/bin/bash
#gateway check
ping_result=`ping gateway_ip -c 2 | grep -i "ttl" | grep -v "grep"`
if [[ $ping_result == "" ]];then
echo "Ping Failure" #测试输出,可以删除,也可以把这个加上当前时间定向到文件,方便你查看
#如果需要,可以在这里添加给你发送警告邮件的代码
fi
#memory check
mem_total=`free | grep -i "Mem:" | awk '{print $2}'`
mem_free=`vmstat | tail -n 1 | awk '{print $4+$5+$6}'`
mem_use=`expr $mem_total - $mem_free`
mem_use_percent=`awk 'BEGIN{print ('$mem_use'/'$mem_total')*100"%"}'`
echo $mem_use_percent #测试输出,可以删除,也可以把这个加上当前时间定向到文件,方便你查看
#如果需要,在这里添加判断,如果内存使用率超过一定值,给你发警告邮件
#cpu check
cpu_id=`vmstat | tail -n 1 | awk '{print $15}'`
echo $cpu_id #测试输出,可以删除,也可以把这个加上当前时间定向到文件,方便你查看,
#如果需要,在这里添加判断,如果CPU空闲时间小于一定值,给你发警告邮件