Do alarms work in 7.20 ?
Posted in 1996
Hi. I am trying to write an alarm program for Informix, but it doesn't
appear to work. We are on HP-UX 10.01 running Informix Online version
7.20. I have written the following script, but it doesn't ever appear to
get called by Informix. According to the manual, I should at least get
something when a checkpoint completes, but I don't seem to get anything.
The script works if run by hand (except possibly for the logging to
syslogd). Any ideas or hints?
TIA
Craig
ctreptow.aol.com
Contents of alarm_handler.sh:
**************************************************************************
****
#!/bin/ksh
SEVERITY=$1
CLASSID=$2
CLASSMSG=$3
MSG=$4
FILE=$5
echo SEVERITY=$1 >> /tmp/alarm.out
echo CLASSID=$2 >> /tmp/alarm.out
echo CLASSMSG=$3 >> /tmp/alarm.out
echo MSG=$4 >> /tmp/alarm.out
echo FILE=$5 >> /tmp/alarm.out
echo "====================" >> /tmp/alarm.out
LPATH=/usr/bin
MAILLIST="ctreptow fkreftin mrains"
DATE="date +'%c'"
LOGFILE=$INFORMIXDIR/log/alarm_handler.log
ERRFILE=$INFORMIXDIR/log/alarm_handler.err
LTAPEDEV=`onstat -c | grep LTAPEDEV | awk '{print $2}'`
THIS_SERVER=`onstat -c | grep SERVERNUM | awk '{print $2}'`
LOG_NUMBER=`echo $CLASSMSG | awk '{print $3}'`
LOG_NUMBER=`echo $CLASSMSG | awk '{print $3}'`
backup_logs()
{
$LPATH/logger -p local0.info "$2 $3 $4 $5"
. /opt/SYSCUSTOM/inf0.login
ontape -a <<-! >> $LOGFILE 2>> $ERRFILE
n
!
cp $LTAPEDEV $LTAPEDEV.${LOG_NUMBER}
> $LTAPEDEV
}
send_mail()
{
. /opt/SYSCUSTOM/inf72.login
onstat -m | $LPATH/elm -s "Informix Problems" $MAILLIST
}
print_to_log()
{
echo
"================================================================" >>
$LOGFILE 2>&1
echo $* >> $LOGFILE
echo "================================================================"
>> $LOGFILE 2>&1
}
start_online()
{
RC=0
. /opt/SYSCUSTOM/inf72.login
print_to_log `$DATE` -- On-Line is down.
print_to_log `$DATE` -- Trying to start...
#So let's try to start it
oninit >> $LOGFILE 2>&1
RC=$?
if [ "$RC" -eq "0" ]
then
#On-line started ok
print_to_log `$DATE` -- Started On-line RC = $RC
$LPATH/logger -i -t informix -p local0.notice "Started
Informix
7.2"
else
#On-line wouldn't start
print_to_log `$DATE` -- Could not start On-Line.\\
RC = $RC
$LPATH/logger -i -t informix -p local0.warn "Could not
start Inf
ormix 7.2"
fi
}
handle_severity_1()
{
$LPATH/logger -i -t informix -p local0.debug $2 $3 $4 $5
}
handle_severity_2()
{
$LPATH/logger -i -t informix -p local0.info $2 $3 $4 $5
if [ $CLASSID -eq 23 ]
then
backup_logs
fi
}
handle_severity_3()
{
$LPATH/logger -i -t informix -p local0.warn $2 $3 $4 $5
}
handle_severity_4()
{
$LPATH/logger -i -t informix -p local0.crit $2 $3 $4 $5
start_online
send_mail
}
handle_severity_5()
{
$LPATH/logger -i -t informix -p local0.emerg "$2 $3 $4 $5"
start_online
send_mail
}
case "$SEVERITY"
in
1) handle_severity_1 $CLASSID $CLASSMSG $MSG $FILE
exit 0;;
2) handle_severity_2 $CLASSID $CLASSMSG $MSG $FILE
exit 0;;
3) handle_severity_3 $CLASSID $CLASSMSG $MSG $FILE
exit 0;;
4) handle_severity_4 $CLASSID $CLASSMSG $MSG $FILE
exit 0;;
5) handle_severity_5 $CLASSID $CLASSMSG $MSG $FILE
exit 0;;
esac
**************************************************************************
*****
Pertinent line from onconfig file:
ALARMPROGRAM /opt/informix72/bin/alarm_handler.sh # Alarm program path
**************************************************************************
*****
Long listing of the script itself:
<marvin>inf72: ll /opt/informix72/bin/alarm_handler.sh
-rwxr--r-- 1 informix informix 2524 Dec 1917:26
/opt/informix72/bin/alarmhandler.sh
<marvin>inf72:
**************************************************************************
*****
Craig Treptow
ctreptow@aol.com