AW: Nagios on FC1
Wengrzik, Andreas
Wengrzik at ewr.de
Tue Mar 16 11:39:21 UTC 2004
>Can you post your startup script from that directory
>here and we'll see where it could be going wrong.
>
>Michael.
Hello Michael,
here´s my start up script
#!/bin/sh
#
# chkconfig: 345 99 01
# description: Nagios network monitor
#
# File : nagios
#
# Author : Jorge Sanchez Aymar (jsanchez at lanchile.cl)
#
# Changelog :
#
# 1999-07-09 Karl DeBisschop <kdebisschop at infoplease.com>
# - setup for autoconf
# - add reload function
# 1999-08-06 Ethan Galstad <nagios at nagios.org>
# - Added configuration info for use with RedHat's chkconfig tool
# per Fran Boon's suggestion
# 1999-08-13 Jim Popovitch <jimpop at rocketship.com>
# - added variable for nagios/var directory
# - cd into nagios/var directory before creating tmp files on startup
# 1999-08-16 Ethan Galstad <nagios at nagios.org>
# - Added test for rc.d directory as suggested by Karl DeBisschop
# 2000-07-23 Karl DeBisschop <kdebisschop at users.sourceforge.net>
# - Clean out redhat macros and other dependencies
#
# Description: Starts and stops the Nagios monitor
# used to provide network services status.
#
status_nagios ()
{
if test ! -f $NagiosRun; then
echo "No lock file found in $NagiosRun"
return 1
fi
NagiosPID=`head -n 1 $NagiosRun`
if test -x $NagiosCGI/daemonchk.cgi; then
if $NagiosCGI/daemonchk.cgi -l $NagiosRun; then
return 0
else
return 1
fi
else
if ps -p $NagiosPID; then
return 0
else
return 1
fi
fi
return 1
}
killproc_nagios ()
{
if test ! -f $NagiosRun; then
echo "No lock file found in $NagiosRun"
return 1
fi
NagiosPID=`head -n 1 $NagiosRun`
kill $2 $NagiosPID
}
# Source function library
# Solaris doesn't have an rc.d directory, so do a test first
if [ -f /etc/rc.d/init.d/functions ]; then
. /etc/rc.d/init.d/functions
elif [ -f /etc/init.d/functions ]; then
. /etc/init.d/functions
fi
prefix=/usr
exec_prefix=/usr
NagiosBin=/usr/bin/nagios
NagiosCfg=/etc/nagios/nagios.cfg
NagiosLog=/var/log/nagios/status.log
NagiosTmp=/var/log/nagios/nagios.tmp
NagiosSav=/var/log/nagios/status.sav
NagiosCmd=/var/log/nagios/rw/nagios.cmd
NagiosVar=/var/log/nagios
NagiosRun=/var/run/nagios.pid
NagiosLckDir=/var/lock/subsys
NagiosLckFile=nagios
NagiosCGI=/usr/lib/nagios/cgi
Nagios=nagios
# Check that nagios exists.
test -f $NagiosBin || exit 0
# Check that nagios.cfg exists.
test -f $NagiosCfg || exit 0
# See how we were called.
case "$1" in
start)
echo "Starting network monitor: nagios"
su -l $Nagios -c "touch $NagiosVar/nagios.log $NagiosSav"
rm -f $NagiosCmd
$NagiosBin -d $NagiosCfg
if [ -d $NagiosLckDir ]; then touch $NagiosLckDir/$NagiosLckFile; fi
sleep 1
status_nagios nagios
;;
stop)
echo "Stopping network monitor: nagios"
killproc_nagios nagios
rm -f $NagiosLog $NagiosTmp $NagiosRun $NagiosLckDir/$NagiosLckFile $NagiosCmd
;;
status)
status_nagios nagios
;;
restart)
printf "Running configuration check..."
$NagiosBin -v $NagiosCfg > /dev/null 2>&1;
if [ $? -eq 0 ]; then
echo "done"
$0 stop
$0 start
else
$NagiosBin -v $NagiosCfg
echo "failed - aborting restart."
exit 1
fi
;;
reload|force-reload)
printf "Running configuration check..."
$NagiosBin -v $NagiosCfg > /dev/null 2>&1;
if [ $? -eq 0 ]; then
echo "done"
if test ! -f $NagiosRun; then
$0 start
else
NagiosPID=`head -n 1 $NagiosRun`
if status_nagios > /dev/null; then
printf "Reloading nagios configuration..."
killproc_nagios nagios -HUP
echo "done"
else
$0 stop
$0 start
fi
fi
else
$NagiosBin -v $NagiosCfg
echo "failed - aborting reload."
exit 1
fi
;;
*)
echo "Usage: nagios {start|stop|restart|reload|force-reload|status}"
exit 1
;;
esac
# End of this script
Thank´s a lot
More information about the fedora-list
mailing list