用shell完成Informix的效能監控

來源:互聯網
上載者:User

用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"\n"}'${TMP}/glotmp
}
body(){
cat$GLODAT|whilereadline
do
printf"<tralign=\"center\"valign=\"middle\"><fontsize=\"1\">\n"
set$line
j=0
foriin$*
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
}
header(){
cat-<<!
<html>
<body>
<tablewidth="95%"border="1"align="center"bordercolorlight="#FFCCCC"bordercolordark="#FF6633">
<CAPTION><FONTSIZE=+2><b>${bname}</b></FONT></CAPTION>
<tralign="center"valign="middle"><fontface="宋體">
<tdrowspan=2><fontsize=2>VPS</font></td>
<tdcolspan=7><fontsize=+2>未經處理資料(onstat-gglo)</font></td>
<tdcolspan=6><fontsize=+2>資源使用率(%)</font></td>
<tdcolspan=5><fontsize=+2>累計利用量(秒)</font></td>
</tr>
<tralign="center"valign="middle"><fontsize="1">
<td>A</td>
<td>B</td>
<td>C</td>
<td>D</td>
<td>E</td>
<td>F</td>
<td>G</td>
<td>時段一</td>
<td>時段二</td>
<td>時段三</td>
<td>時段四</td>
<td>時段五</td>
<td>時段六</td>
<td>200秒</td>
<td>300秒</td>
<td>400秒</td>
<td>500秒</td>
<td>600秒</td>
</tr>
!
}
tailer(){
D=`date+%Y/%m/%d-%H:%M`
cat-<<!
</table>
<p><fontsize="1">ReportDate:${D}</font></p>
</html>
!
}
#programmainbody
getdata >$GLODAT
header >$tdir/$bname.html
body >>$tdir/$bname.html
tailer >>$tdir/$bname.html
rm-rf${TMP}

輸出範例:

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.