Guys do you have /usr/local/etc/rc.d/nagios.sh? If some of you has it would you please mail it to me at [email protected] - I forgot to back it up and make install-init outputs some error.
Well, dunno about the file you want, but my guess is that it’s my /etc/rc.d/init.d/nagios file. Edit any info that may not fit your system, like the paths, nagios user, etc.
#!/bin/sh
chkconfig: 345 99 01
description: Nagios network monitor
File : nagios
Author : Jorge Sanchez Aymar ([email protected])
Changelog :
1999-07-09 Karl DeBisschop [email protected]
- setup for autoconf
- add reload function
1999-08-06 Ethan Galstad [email protected]
- Added configuration info for use with RedHat’s chkconfig tool
per Fran Boon’s suggestion
1999-08-13 Jim Popovitch [email protected]
- added variable for nagios/var directory
- cd into nagios/var directory before creating tmp files on startup
1999-08-16 Ethan Galstad [email protected]
- Added test for rc.d directory as suggested by Karl DeBisschop
2000-07-23 Karl DeBisschop [email protected]
- 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/local/nagios
exec_prefix=${prefix}
NagiosBin=${exec_prefix}/bin/nagios
NagiosCfg=${prefix}/etc/nagios.cfg
NagiosLog=${prefix}/var/status.log
NagiosTmp=${prefix}/var/nagios.tmp
NagiosSav=${prefix}/var/status.sav
NagiosCmd=${prefix}/var/rw/nagios.cmd
NagiosVar=${prefix}/var
NagiosRun=${prefix}/var/nagios.lock
NagiosLckDir=/var/lock/subsys
NagiosLckFile=nagios
NagiosCGI=${exec_prefix}/sbin
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