在服务器出现故障时,登陆服务器敲命令逐个检查系统信息是一个很落后的方式
最好的方式是查看监控系统的数据,监控平台有历史数据和数据图形化,很容易对比分析问题
但是我的前辈不愿意给我使用监控平台,我只能呵呵;我积累经验,登陆服务器后使用事先准备好的脚本进行数据采样,然后分析
我根据自己的运维经验自己写了个简单的脚本
tt=`date +"%m-%d_%H%M%S"`
logdir=syslog_${tt}
logfile=common.log
cd ${logdir}
df -h | tee >> ${logfile}
df -i | tee >> ${logfile}
uptime | tee >> ${logfile}
free -g | tee >> ${logfile}
vmstat -w -t 1 5 | tee >> ${logfile}
dmesg -H | tail -30 | tee >> ${logfile}
iostat -dx 1 5 | tee >> ${logfile}
sar -n DEV 1 5 | tee >> ${logfile}
想要定位问题,首先需要采集服务器正常情况下性能数据的区间
在初步定位问题后可以使用iostat,sar,pidstat获取更加详细和更加有针对性的信息
有些问题可能需要查看较多的历史性能数据,可以使用sysstat采集的数据进行分析
systemctl start sysstat
systemctl enable sysstat