监控Linux系统节点和服务性能的方法


    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和内存趋势图。