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