Listing 7 /etc/ha.d/mon/mon.d/hadr.monitor
/etc/ha.d/mon/mon.d/hadr.monitor
#!/bin/ksh -x
. /etc/ha.d/shellfuncs
DB2HADRDBNAMES="WSI811"
#
echo "`date` :: hadr.monitor running" >> /var/log/hb.debug
tempHost=$(echo $HOSTNAME)
case $tempHost in
db01.example.com)
DB2INST=db2inst1;;
db02.example.com)
DB2INST=db2inst1;;
esac
exit=0
for DB2HADRDBNAME in $DB2HADRDBNAMES
do
HADRROLE="UNKNOWN"
HADRSTAT="UNKNOWN"
HADRROLE=$(su - $DB2INST -c "db2pd -hadr -db $DB2HADRDBNAME" |grep \
-A2 "HADR Information" |grep -v HADR |grep -v Role | awk '{print $1}')
HADRSTAT=$(su - $DB2INST -c "db2pd -hadr -db $DB2HADRDBNAME" |grep \
-A2 "HADR Information" |grep -v HADR |grep -v Role | awk '{print $2}')
if [[ $? = "0" ]];
then
echo "`date` :: hadr.monitor HADR role is [$HADRROLE] status \
[$HADRSTAT]" >> /var/log/hb.debug
logger -i -p info -t $0 "Info: $DB2HADRDBNAME ROLE IS $HADRROLE, \
state is in $HADRSTAT state"
else
echo "`date` :: hadr.monitor can't get HADR status" >> /var/log/hb.debug
logger -i -p error -t $0 "ERROR: CAN NOT GET INFORMATION FOR \
$DB2HADRDBNAME "
exit=`expr $exit + 1`
fi
done
exit $exit
|