/usr/share/doc/slony1-2-bin/examples/check_slon.sh is in slony1-2-bin 2.2.3-1.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | #!/bin/sh
#
# nagios plugin that checks whether the slon daemon is running
# if the 3rd parameter (LOGFILE) is specified then the log file is
# checked to see if the last entry is a WARN or FATAL message
#
# three possible exit statuses:
# 0 = OK
# 1 = Warning (warning in slon log file)
# 2 = Fatal Error (slon not running, or error in log file)
#
# script requires two or three parameters:
# CLUSTERNAME - name of slon cluster to be checked
# DBNAME - name of database being replicated
# LOGFILE - (optional) location of the slon log file
#
# Author: John Sidney-Woollett
# Created: 26-Feb-2005
# Copyright 2005-2009
# check parameters are valid
if [ $# -lt 2 ] || [ $# -gt 3 ]
then
echo "Invalid parameters need CLUSTERNAME DBNAME DBHOST [LOGFILE]"
exit 2
fi
# assign parameters
CLUSTERNAME=$1
DBNAME=$2
LOGFILE=$3
# check to see whether the slon daemon is running
case `uname` in
Linux) PSCOMMAND="ps auxww" ;;
SunOS) PSCOMMAND="/usr/ucb/ps -auxww" ;;
FreeBSD) PSCOMMAND="/bin/ps -auxww" ;;
AIX) PSCOMMAND="/usr/bin/ps auxww" ;;
*) PSCOMMAND="ps auxww"
esac
SLONPROCESS=`$PSCOMMAND | egrep "[s]lon $CLUSTERNAME" | egrep "dbname=$DBNAME" | awk '{print $2}'`
if [ ! -n "$SLONPROCESS" ]
then
echo "no slon process active"
exit 2
fi
# if the logfile is specified, check it exists
# and check for the word ERROR or WARN in the last line
if [ -n "$LOGFILE" ]
then
# check for log file
if [ -f "$LOGFILE" ]
then
LOGLINE=`tail -1 $LOGFILE`
LOGSTATUS=`tail -1 $LOGFILE | awk '{print $1}'`
if [ $LOGSTATUS = "FATAL" ]
then
echo "$LOGLINE"
exit 2
elif [ $LOGSTATUS = "WARN" ]
then
echo "$LOGLINE"
exit 1
fi
else
echo "$LOGFILE not found"
exit 2
fi
fi
# otherwise all looks to be OK
echo "OK - slon process $SLONPROCESS"
exit 0
|