使用 Cognos 分析 nmon 采集的 AIX 性能数据
2010-08-26 00:00:00 来源:WEB开发网第三步,以 nmon 性能工具生成的文件作为输入,然后从中抽取 CPU 使用率和磁盘 I/O 速度、传输及读 / 写比率等性能数据。实现代码如下:
清单 3. 抽取性能数据
i=0
j=0
t1=""
line=""
while read line; do
# get seqno, Edate, Etime from file head
# 从文件头中获取序号、日期、时间
if [[ $line == ZZZZ* ]] ; then
seq1=`echo $line|awk -F',' '{print $2}'`
Edate=`echo $line|awk -F',' '{print $4}'`
Etime=`echo $line|awk -F',' '{print $3}'`
let j=$j+1
let i=$i+1
continue
fi
if [ $j -eq 0 ] ; then
let i=$i+1
# Special process of meta data on the DISKXFER
# 对 DISKXFER 元数据进行特殊处理
if [ $name == "DISK" ] ; then
if [[ $line == DISKXFER* ]] ; then
others=`echo $line|cut -d, -f 3-11`
echo "DISK,seq,Edate,Etime",$others > ${outputname}
fi
fi
continue
fi
# processing CPU data
# 处理 CPU 数据
if [ $name == "CPU" ] ; then
if [[ $line == $name* ]] ; then
t1=`echo $line|awk -F',' '{print $1}'`
seq2=`echo $line|awk -F',' '{print $2}'`
others=`echo $line|cut -d, -f 3-6`
if [[ $seq1 == $seq2 ]] ; then
echo $t1,$seq1,$Edate,$Etime,$others >> ${outputname}
fi
let j=$j+1
let i=$i+1
continue
fi
fi
# processing DISK data
# 处理 DISK 数据
if [ $name == "DISK" ] ; then
if [[ $line == DISK* ]] ; then
t1=`echo $line|awk -F',' '{print $1}'`
seq2=`echo $line|awk -F',' '{print $2}'`
others=`echo $line|cut -d, -f 3-11`
if [[ $seq1 == $seq2 ]] ; then
echo $t1,$seq1,$Edate,$Etime,$others >> ${outputname}
fi
let j=$j+1
let i=$i+1
continue
fi
fi
let i=$i+1
done < ${filename}
echo $i
echo $j
更多精彩
赞助商链接