为方便问题发生后,问题原因的分析排查,我们可以在服务器中事先部署如下脚本,方便故障发生后,问题原因的分析排查

 

脚本部署方法:

1.将脚本【top_monitor.sh】上传到服务器

2.登陆虚拟机,并切换到root用户

3.执行命令:crontab -e

4.添加定时任务:* * * * * <the path of the script>/top_monitor.sh <the path of ouputs saved> <keeps>

备注:

范例:* * * * * /root/top_monitor.sh /var/tmp/ 72 &

a.这里的keeps以小时为单位,如果保留三天的话,就输入72

b.该脚本每五秒钟收集一次top/vmstat/iostat命令的输出,每分钟会生成一个性能数据文件

c.不要把用户数据放到该目录下,否则会被清理掉

 

脚本详情如下:

#! /bin/bash

if [ $# != 2 ]; then
        echo "Invalid option, try top_monitor.sh <path> <hours>"  
        exit
fi

export dir=$1
export keeps=$2

## Create topMon folder
if [ ! -d "$dir" ]; then
	mkdir $dir 
fi

mkdir $dir/topMon

file=$dir/topMon/"topMon_"`date +%Y%m%d`
file=$dir/topMon/"topMon_"`date +%Y%m%d%H%M%S`

## Cleanup expired outputs
for i in `find $dir/topMon/ -type f -atime +$keeps -print`
#for i in `find $dir/topMon/ -type f -amin +$keeps -print`
do
rm -rf $i
done

## Record top ouputs
for i in {0..10}
do
date +"%Y-%m-%d %H:%M:%S" >> $file
top -b -n 1 | head -33 >> $file
vmstat >> $file
iostat -x 1 1 >> $file
sleep 5
done

 

版权声明:本文为stonehe原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:http://www.cnblogs.com/stonehe/p/7878948.html