Re: Do alarms work in 7.20 ?
Posted in 1996
In article <19961219235300.SAA24053@ladder01.news.aol.com>,
ctreptow@aol.com writes
>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
Try make the script executable by everyone i.e chmod 755 the script.
>/opt/informix72/bin/alarmhandler.sh
><marvin>inf72:
>**************************************************************************
>*****
>
>
>Craig Treptow
>ctreptow@aol.com
If that does not work create a simple one line script :-
echo $* >> /tmp/1
First do
touch /tmp/1
chmod 666 /tmp/1
to make sure that /tmp/1 can be written to then install this as the
alarm program. Do not forget to restart OnLine when you change
the alarm program!!
--
David Williams