How to stop nagios properly?

Meyer Jerome Jerome.Meyer at baldata.ch
Tue May 5 14:00:34 CEST 2009


Hi Francois

 

It's very helpful... 

 

Merci beaucoup

Jérôme

 

 

 

 

Von: Network Operation Center FMC Luxemburg [mailto:NOC at eurofmc.com] 
Gesendet: Dienstag, 5. Mai 2009 10:14
An: Meyer Jerome
Cc: Nagios-users at lists.sourceforge.net
Betreff: Re: [Nagios-users] How to stop nagios properly?

 

Hi Jerome,

See the script below . Is that we use in production:

François
FMC Luxembourg SA Luxembourg
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

#!/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> <mailto:kdebisschop at infoplease.com> 
#  - setup for autoconf
#  - add reload function
# 1999-08-06 Ethan Galstad <egalstad at nagios.org> <mailto:egalstad 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> <mailto: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 <egalstad at nagios.org> <mailto:egalstad at nagios.org> 
#  - Added test for rc.d directory as suggested by Karl DeBisschop
# 2000-07-23 Karl DeBisschop <kdebisschop at users.sourceforge.net> <mailto:kdebisschop at users.sourceforge.net> 
#  - Clean out redhat macros and other dependencies
# 2003-01-11 Ethan Galstad <egalstad at nagios.org> <mailto:egalstad at nagios.org> 
#  - Updated su syntax (Gary Miller)
#
# Description: Starts and stops the Nagios monitor
#              used to provide network services status.
#
  
status_nagios ()
{
 
       if test -x $NagiosCGI/daemonchk.cgi; then
              if $NagiosCGI/daemonchk.cgi -l $NagiosRunFile; then
                      return 0
              else
                      return 1
              fi
       else
              if ps -p $NagiosPID > /dev/null 2>&1; then
                      return 0
              else
                      return 1
              fi
       fi
 
       return 1
}
 
 
printstatus_nagios()
{
 
       if status_nagios $1 $2; then
              echo "nagios (pid $NagiosPID) is running..."
       else
              echo "nagios is not running"
       fi
}
 
 
killproc_nagios ()
{
 
       kill $2 $NagiosPID
 
}
 
 
pid_nagios ()
{
 
       if test ! -f $NagiosRunFile; then
              echo "No lock file found in $NagiosRunFile"
              exit 1
       fi
 
       NagiosPID=`head -n 1 $NagiosRunFile`
}
 
 
# 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
NagiosCfgFile=/etc/nagios/nagios.cfg
NagiosStatusFile=${prefix}/var/status.dat
NagiosRetentionFile=${prefix}/var/retention.dat
NagiosCommandFile=${prefix}/var/rw/nagios.cmd
NagiosVarDir=${prefix}/var
NagiosRunFile=${prefix}/var/nagios.lock
NagiosLockDir=/var/lock/subsys
NagiosLockFile=nagios
NagiosCGIDir=${exec_prefix}/sbin
NagiosUser=nagios
NagiosGroup=nagios
          
 
# Check that nagios exists.
if [ ! -f $NagiosBin ]; then
    echo "Executable file $NagiosBin not found.  Exiting."
    exit 1
fi
 
# Check that nagios.cfg exists.
if [ ! -f $NagiosCfgFile ]; then
    echo "Configuration file $NagiosCfgFile not found.  Exiting."
    exit 1
fi
          
# See how we were called.
case "$1" in
 
       start)
              echo -n "Starting nagios:"
              $NagiosBin -v $NagiosCfgFile > /dev/null 2>&1;
              if [ $? -eq 0 ]; then
                      su - $NagiosUser -c "touch $NagiosVarDir/nagios.log $NagiosRetentionFile"
                      rm -f $NagiosCommandFile
                      touch $NagiosRunFile
                      chown $NagiosUser:$NagiosGroup $NagiosRunFile
                      $NagiosBin -d $NagiosCfgFile
                      if [ -d $NagiosLockDir ]; then touch $NagiosLockDir/$NagiosLockFile; fi
                      echo " done."
                      exit 0
              else
                      echo "CONFIG ERROR!  Start aborted.  Check your Nagios configuration."
                      exit 1
              fi
              ;;
 
       stop)
              echo -n "Stopping nagios: "
 
              pid_nagios
              killproc_nagios nagios
 
              # now we have to wait for nagios to exit and remove its
              # own NagiosRunFile, otherwise a following "start" could
              # happen, and then the exiting nagios will remove the
              # new NagiosRunFile, allowing multiple nagios daemons
              # to (sooner or later) run - John Sellens
              #echo -n 'Waiting for nagios to exit .'
              for i in 1 2 3 4 5 6 7 8 9 10 ; do
                  if status_nagios > /dev/null; then
                      echo -n '.'
                      sleep 1
                  else
                      break
                  fi
              done
              if status_nagios > /dev/null; then
                  echo ''
                  echo 'Warning - nagios did not exit in a timely manner'
              else
                  echo 'done.'
              fi
 
              rm -f $NagiosStatusFile $NagiosRunFile $NagiosLockDir/$NagiosLockFile $NagiosCommandFile
              ;;
 
       status)
              pid_nagios
              printstatus_nagios nagios
              ;;
 
       checkconfig)
              printf "Running configuration check..."
              $NagiosBin -v $NagiosCfgFile > /dev/null 2>&1;
              if [ $? -eq 0 ]; then
                      echo " OK."
              else
                      echo " CONFIG ERROR!  Check your Nagios configuration."
                      exit 1
              fi
              ;;
 
       restart)
              printf "Running configuration check..."
              $NagiosBin -v $NagiosCfgFile > /dev/null 2>&1;
              if [ $? -eq 0 ]; then
                      echo "done."
                      $0 stop
                      $0 start
              else
                      echo " CONFIG ERROR!  Restart aborted.  Check your Nagios configuration."
                      exit 1
              fi
              ;;
 
       reload|force-reload)
              printf "Running configuration check..."
              $NagiosBin -v $NagiosCfgFile > /dev/null 2>&1;
              if [ $? -eq 0 ]; then
                      echo "done."
                      if test ! -f $NagiosRunFile; then
                              $0 start
                      else
                              pid_nagios
                              if status_nagios > /dev/null; then
                                     printf "Reloading nagios configuration..."
                                     killproc_nagios nagios -HUP
                                     echo "done"
                              else
                                     $0 stop
                                     $0 start
                              fi
                      fi
              else
                      echo " CONFIG ERROR!  Reload aborted.  Check your Nagios configuration."
                      exit 1
              fi
              ;;
 
       *)
              echo "Usage: nagios {start|stop|restart|reload|force-reload|status|checkconfig}"
              exit 1
              ;;
 
esac
  
# End of this script


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Meyer Jerome wrote: 

Hi

 

I used with RedHat "service nagios stop/start" to manage the nagios server but I'll see that the stop is not enough because one process is running :

 

ps -ef|grep nagios

root     16729 16670  0 09:21 pts/1    00:00:00 grep nagios

nagios   27223     1  0 Apr24 ?        00:02:10 /usr/local/nagios/bin/nagios -d /etc/nagios/nagios.cfg

 

Which command to use to stop nagios properly??

 

 

 

Thanks in advance

Jérôme Meyer

 


________________________________



 
------------------------------------------------------------------------------
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image 
processing features enabled. http://p.sf.net/sfu/kodak-com
 


________________________________



 
_______________________________________________
Nagios-users mailing list
Nagios-users at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nagios-users
::: Please include Nagios version, plugin version (-v) and OS when reporting any issue. 
::: Messages without supporting info will risk being sent to /dev/null

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.monitoring-lists.org/archive/users/attachments/20090505/be11a176/attachment.html>
-------------- next part --------------
------------------------------------------------------------------------------
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image 
processing features enabled. http://p.sf.net/sfu/kodak-com
-------------- next part --------------
_______________________________________________
Nagios-users mailing list
Nagios-users at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nagios-users
::: Please include Nagios version, plugin version (-v) and OS when reporting any issue. 
::: Messages without supporting info will risk being sent to /dev/null


More information about the Users mailing list