请联系我们

用shell实现Informix的性能监控

来源: 数据库 |  作者: 不详 |  发布: 2008-5-04 19:09


?shell??informix????????html?????????? ??informix????????????????cron?????????????????????????????????????????????????

#!/bin/ksh

#ScriptName:getgloinfo

#??????

INFORMIXDIR=/usr/informix

INFORMIXSERVER=server0

ONCONFIG=onconfig.server0

PATH=$PATH:$INFORMIXDIR/bin

exportINFORMIXDIRINFORMIXSERVERONCONFIGPATH

LOGG=$INFORMIXDIR/log

#????????

YUE=`date+%Y%m`

if[!-d${LOGG}/${YUE}]

then

mkdir${LOGG}/html/${YUE}>/dev/null2>&1

mkdir${LOGG}/data/${YUE}>/dev/null2>&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`

umask133

#????

getdata(){

#??????

onstat-gglo|awk"{print$3}"|sed-e"1,/^class/d"-e"/^$/d"|sed"$d">${TMP}/glotmp

#????:????100?

foriin1234567

do

onstat-gglo|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-lt7]&&sleep100

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" "}"${TMP}/glotmp

}

body(){

cat$GLODAT|whilereadline

do

printf" "

set$line

j=0

foriin$*

do

if["$j"!="0"]

then

printf"%.2f "$i

else

printf"%s "$i

fi

j=j+1

done

printf" "

done

}

header(){

cat-<

${bname}

VPS

????(onstat-gglo)

?????(%)

?????(?)

A

B

C

D

E

F

G

???

???

???

???

???

???

200?

300?

400?

500?

600?

!

}

tailer(){

D=`date+%Y/%m/%d-%H:%M`

cat-<

ReportDate:${D}

!

}

#programmainbody

getdata >$GLODAT

header >$tdir/$bname.html

body >>$tdir/$bname.html

tailer >>$tdir/$bname.html

rm-rf${TMP}

?????


* 部分内容来源于网络,版权属原作者所有,转载请注明来源。
打印 | 收藏此页 |  推荐给好友 | 举报