监控DB2数据库脚本

PRODUCT DB2 SPACE MONITOR SHELL

#! /bin/sh
Month=`date "+%m"`
Day=`date "+%d"`
Year=`date "+%y"`
YEAR=`date "+%Y"`

LogDir=/tmp/sysmonitor

DISK=$LogDir/FILESYSTEM_$YEAR$Month$Day.txt
Temp_file1=$LogDir/temp1.log
Temp_file2=$LogDir/temp2.log

#####Monitor FileSpace#####
date>> $DISK
df -m >> $DISK

CNT1=`grep dev $DISK|grep -E -w "hd4|var|maestro"|awk '{if($3/$2<0.2){print $0}}'|wc -l`
CNT2=`grep dev $DISK|grep -E -w -v "hd4|var|hd3|usr|maestro|hd1|opt|fix|proc"|awk '{if($3/$2<0.1){print $0}}'|wc -l`
CNT3=`grep dev $DISK|grep -E -w "hd3"|awk '{if($3<1500){print $0}}'|wc -l`

if [ `expr $CNT1 + $CNT2 + $CNT3` -gt 0 ] ; then
  CRITICAL=$LogDir/CRITICAL_FILESYSTEM_$YEAR$Month$Day.txt
  echo "***********CRITICAL***********" >> $CRITICAL
  date >> $CRITICAL
  grep -w Free $DISK >> $CRITICAL
  grep dev $DISK|grep -E -w "hd4|var|maestro"|awk '{if($3/$2<0.2){print $0}}' >> $CRITICAL
  grep dev $DISK|grep -E -w -v "hd4|var|hd3|usr|maestro|hd1|opt|fix|proc"|awk '{if($3/$2<0.1){print $0}}' >> $CRITICAL
  grep dev $DISK|grep -E -w "hd3"|awk '{if($3<1500){print $0}}' >> $CRITICAL
fi

CNT1=`grep dev $DISK|grep -E -w "hd4|var|maestro"|awk '{if($3/$2<0.35){print $0}}'|wc -l`
CNT2=`grep dev $DISK|grep -E -w -v "hd4|var|hd3|usr|maestro|hd1|opt|fix|proc"|awk '{if($3/$2<0.2){print $0}}'|wc -l`
CNT3=`grep dev $DISK|grep -E -w "hd3"|awk '{if($3<2000){print $0}}'|wc -l`

if [ `expr $CNT1 + $CNT2 + $CNT3` -gt 0 ] ; then
  WARNING=$LogDir/WARNING_FILESYSTEM_$YEAR$Month$Day.txt
  echo "***********WARNING***********" >> $WARNING
  date >> $WARNING
  grep -w Free $DISK >> $WARNING
  grep dev $DISK|grep -E -w "hd4|var|maestro"|awk '{if($3/$2<0.35){print $0}}' >> $WARNING
  grep dev $DISK|grep -E -w -v "hd4|var|hd3|usr|maestro|hd1|opt|fix|proc"|awk '{if($3/$2<0.2){print $0}}' >> $WARNING
  grep dev $DISK|grep -E -w "hd3"|awk '{if($3<2000){print $0}}' >> $WARNING
fi


####Monitor TableSpace####
CRITICAL=$LogDir/CRITICAL_TABLESPACE_$YEAR$Month$Day.txt

TABLE=$LogDir/TABLESPACE_GPCDB_$YEAR$Month$Day.txt
su - gpcp <db2 connect to gpcdb > /dev/null
db2 list tablespaces show detail >> $TABLE
db2 connect reset > /dev/null
exit
!!

grep -E -w "Name|Useable pages|Used pages" $TABLE > $Temp_file1
awk '{if(NR%3==1){name=$NF};if(NR%3==2){x=$NF};if(NR%3==0){y=$NF;print name,y/x*100}}' $Temp_file1 > $Temp_file2

CNT=`awk '$1 ~ /^G/ {if($2>95){print $0"%"}}' $Temp_file2|wc -l`

if [ $CNT -gt 0 ] ; then
  echo "***********CRITICAL GPCDB***********" >> $CRITICAL
  date >> $CRITICAL
  awk '$1 ~ /^G/ {if($2>95){print $0"%"}}' $Temp_file2 >> $CRITICAL
fi


TABLE=$LogDir/TABLESPACE_GALDB_$YEAR$Month$Day.txt
su - galp <db2 connect to galdb > /dev/null
db2 list tablespaces show detail >> $TABLE
db2 connect reset > /dev/null
exit
!!

grep -E -w "Name|Useable pages|Used pages" $TABLE > $Temp_file1
awk '{if(NR%3==1){name=$NF};if(NR%3==2){x=$NF};if(NR%3==0){y=$NF;print name,y/x*100}}' $Temp_file1 > $Temp_file2

CNT=`awk '$1 ~ /^G/ {if($2>95){print $0"%"}}' $Temp_file2|wc -l`

if [ $CNT -gt 0 ] ; then
  echo "***********CRITICAL GALDB***********" >> $CRITICAL
  date >> $CRITICAL
  awk '$1 ~ /^G/ {if($2>95){print $0"%"}}' $Temp_file2 >> $CRITICAL
fi


TABLE=$LogDir/TABLESPACE_GSIDB_$YEAR$Month$Day.txt
su - gsip <db2 connect to gsidb > /dev/null
db2 list tablespaces show detail >> $TABLE
db2 connect reset > /dev/null
exit
!!

grep -E -w "Name|Useable pages|Used pages" $TABLE > $Temp_file1
awk '{if(NR%3==1){name=$NF};if(NR%3==2){x=$NF};if(NR%3==0){y=$NF;print name,y/x*100}}' $Temp_file1 > $Temp_file2

CNT=`awk '$1 ~ /^G/ {if($2>95){print $0"%"}}' $Temp_file2|wc -l`

if [ $CNT -gt 0 ] ; then
  CRITICAL=$LogDir/CRITICAL_TABLESPACE_$YEAR$Month$Day.txt
  echo "***********CRITICAL GSIDB***********" >> $CRITICAL
  date >> $CRITICAL
  awk '$1 ~ /^G/ {if($2>95){print $0"%"}}' $Temp_file2 >> $CRITICAL
fi


######Remove Temp file#####
rm $Temp_file1
rm $Temp_file2

######Remove Old file#####
find $LogDir -name "*.txt" -mtime +90 -print -exec rm {} ;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/70109/viewspace-687900/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/70109/viewspace-687900/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值