用shell实现informix的性能监控

发表于:2008-10-06来源:作者:点击数: 标签:性能shellinformixInformixsnooker
用shell实现informix的 性能 监控,并以html格式输出,直观方便。 适合informix系统初建时监控系统性能。 本例是按cron机制运行设计的,安排它在每天系统繁忙时进行监控,以便对系统的资源分配,参数设置进行分析和合理调整。 #!/bin/ksh #ScriptName:getglo

用shell实现informix的性能监控,并以html格式输出,直观方便。
适合informix系统初建时监控系统性能。
本例是按cron机制运行设计的,安排它在每天系统繁忙时进行监控,以便对系统的资源分配,参数设置进行分析和合理调整。

#!/bin/ksh
#ScriptName:getgloinfo
#定义环境变量
INFORMIXDIR=/usr/informix
INFORMIXSERVER=server0
ONCONFIG=onconfig.server0
PATH=$PATH:$INFORMIXDIR/bin
export INFORMIXDIR INFORMIXSERVER ONCONFIG PATH
LOGG=$INFORMIXDIR/log
#建立数据存放目录
YUE=`date +%Y%m`
if [ ! -d ${LOGG}/${YUE} ]
then
        mkdir ${LOGG}/html/${YUE} >;/dev/null 2>;&1
        mkdir ${LOGG}/data/${YUE} >;/dev/null 2>;&1
fi

#准备临时数据目录
TMP=/tmp/GLO;mkdir $TMP

#数据文件名:格式MMDD-HHMM
D=`/bin/date +%m%d-%H%M`
GLODAT=${LOGG}/data/${YUE}/${D}.glo
tdir=${LOGG}/html/${YUE}
bname=`/bin/basename $GLODAT`
umask 133

#采集数据
getdata(){
#提取统计项目
onstat -g glo|awk '{print $3}'|sed -e '1,/^class/d' -e '/^$/d'|sed '$d' >;${TMP}/glotmp
#采集数据:时间间隔100秒
for i in 1 2 3 4 5 6 7
do
    onstat -g glo|awk '{print $6}'|sed -e '1,/total/d' -e '/^$/d' >;${TMP}/glo.$i
    paste ${TMP}/glotmp ${TMP}/glo.${i} >;${TMP}/glo.$$
    mv ${TMP}/glo.$$ ${TMP}/glotmp
    [ $i -lt 7 ] && sleep 100
done
    awk '{printf"%s ",$1;for(i=2;i<9;printf"%.2f ",$i++);
        for(i=3;i<9;i++)printf"%.2f ",($i-$(i-1));
        for(i=4;i<9;i++)printf"%.2f ",($i-$2);printf"\n"}' ${TMP}/glotmp
}

body(){
cat $GLODAT|while read line
do
        printf "<tr align=\"center\" valign=\"middle\">;<font size=\"1\">;\n"
        set $line
        j=0
        for i in $*
        do
            if [ "$j" != "0" ]
            then
                    printf "    <td>;%.2f</td>;\n" $i
            else
                    printf "    <td>;%s</td>;\n" $i
            fi
            j=j+1
        done
        printf "</tr>;\n"
done
}

原文转自:http://www.ltesting.net