1 、获取资讯
#!/bin/bash
#描述:
# 把 top 资讯输入到一个档案内部
#作者: 孤舟点点
#版本:1.0
#建立时间:2017-11-09 03:04:28
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
p=`pwd`
Day=`date +”%Y%m%d”`
HOST=`hostname`
for((i=0; i<1440; i=i+1))
do
echo "Date `date +"%Y-%m-%d %H:%M:%S"`" >>$p/$Day-top.txt
top c -bn1 >>$p/$Day-top.txt
sleep 1
done
2 、筛选资讯
#!/bin/bash
#描述:
#作者: 孤舟点点
#版本:1.0
#建立时间:2017-11-09 04:08:52
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
p=`pwd`
Day=`date +”%Y%m%d”`
HOST=`hostname`
mkdir -p $p/$HOST-$Day
PT=$p/$HOST-$Day
cd $PT
cat $p/$1 | grep -v grep | grep “^Date” >> $PT/Time-$Day.txt
cat $p/$1 | grep -v grep | grep “^Cpu(s):” >> $PT/CPU-$Day.txt
cat $p/$1 | grep -v grep | grep “^Mem:” >> $PT/Mem-$Day.txt
cat $p/$1 | grep -v grep | grep “^Swap:” >> $PT/Cache-$Day.txt
while read line
do
cat $p/$1 | grep -v grep | grep “$line” >> $PT/$line-$Day.txt
done < $p/service.txt
# 这里 service.txt 是按行存放的服务名称
cd $p
3 、整理资料
例如用 Excel 整理内存使用情况,这里把获取的时间和内存资讯放在 Excel 内部,并把内存列用 Excel 分列,用时间和使用的内存大小列可以制作出一张内存使用趋势图;同理也可以制作 CPU 、 cached 及各个微服务的 CPU 和内存趋势图。
原文连结:http://www.centoscn.com/shell/2017/1118/9242.html