以下的日志,取出5分钟负载的值
top - 14:25:12 up 1167 days 55 min 5 users load average: 8.54 18.79 17.16
top - 14:30:10 up 1167 days 1:00 5 users load average: 0.97 7.46 12.66
top - 14:30:10 up 1167 days 1:00 5 users load average: 0.97 7.46 12.66
cat 2019040214.top.log |grep average|sed 's/,/ /g'|awk 'BEGIN{}{if($11~/average:/){print $12,$0}else if($12~/average:/){print $13,$0}}'
根据上面的结果取出负载大于10的值
cat 2019040214.top.log |grep average|sed 's/,/ /g'|awk 'BEGIN{}{if($11~/average:/){print $12,$3}else if($12~/average:/){print $13,$3}}'|awk 'BEGIN{}{if($1>10){print $0}}'
统计出负载大于10的时间及日期(文件名就是日期格式的)
grep -H average *|sed 's/,/ /g'|awk 'BEGIN{}{if($11~/average:/){print $12,$3,$1}else if($12~/average:/){print $13,$3,$1}}'|awk 'BEGIN{}{if($1>10){print $0}}'
附上自定义监控的脚本
day1=`date +%Y%m%d`
hour=`date +%Y%m%d%H`
if [[ ! -d /home/monitor/$day1 ]]
then mkdir /home/monitor/$day1
fi
echo "*********" `date +"%Y%m%d %H:%M:%S"` "**************" >> /home/monitor/$day1/$hour.vmstat.log
vmstat 1 5 >> /home/monitor/$day1/$hour.vmstat.log
echo "*****" `date +"%Y%m%d %H:%M:%S"` "*******************" >> /home/monitor/$day1/$hour.vmstat.log
iostat -x 1 5 >> /home/monitor/$day1/$hour.vmstat.log
echo "*****************" >>/home/monitor/$day1/$hour.vmstat.log
top -b -n 1 |head -n 20 >> /home/monitor/$day1/$hour.top.log
top -b -n 1 |head -n 20 >> /home/monitor/$day1/$hour.top.log
top -b -n 1 |head -n 20 >> /home/monitor/$day1/$hour.top.log
top -b -n 1 |head -n 20 >> /home/monitor/$day1/$hour.top.log
top -b -n 1 |head -n 20 >> /home/monitor/$day1/$hour.top.log
echo "********" `date +"%Y%m%d %H:%M:%S"` "**************" >> /home/monitor/$day1/$hour.pstree.log
pstree -a -p -c >> /home/monitor/$day1/$hour.pstree.log
echo "*********" `date +"%Y%m%d %H:%M:%S"` "***************" >> /home/monitor/$day1/$hour.tcp.log
#网络连接统计情况
netstat -nat|awk '{print $6}'|sort|uniq -c >> /home/monitor/$day1/$hour.tcp.log
echo "" >> /home/monitor/$day1/$hour.pstree.log
echo "">>/home/monitor/$day1/$hour.top.log
echo "">>/home/monitor/$day1/$hour.vmstat.log
echo "">>/home/monitor/$day1/$hour.tcp.log