- 论坛徽章:
- 0
|
如何定时收集系统信息?
一.如果你要实时监控可以直接用topas
二.如果要定期分析系统运行状况可以这样做:
1.编写采集原始数据的shell放入crontab定时收集(如半小时一次)
给个样本:
LOGFILE=/tmp/CPU.`hostname`
LINES=4800; COUNTS=10; COUNTS1=`expr $COUNTS + 1`;
echo "`date '+%Y%m%d %T'` \c" >> $LOGFILE
vmstat 1 $COUNTS1 | tail -$COUNTS | awk -v COUNTS=$COUNTS '
BEGIN { BUSY=100 }
{ for ( i=1;i<=NF;i++) t+=$i
BUSY = $(NF-1)<BUSY ? $(NF-1) : BUSY
}
END { for ( i=1;i<=NF;i++) printf " %d",t/COUNTS;
printf " %d\n",BUSY;
}' >> $LOGFILE
cat $LOGFILE | tail -$LINES >$LOGFILE.$$
mv $LOGFILE.$$ $LOGFILE
2. 定期(如一星期,一个月)根据需要处理数据,不再赘述. |
|