help: nrpe + event handler
Arun G Nair
arungnair at gmail.com
Thu Nov 19 11:28:02 CET 2009
On Thu, Nov 19, 2009 at 2:43 PM, Arun G Nair <arungnair at gmail.com> wrote:
> Hi,
>
> We use red5 to stream media files on our website. Sometimes the RSS
> reaches 3.2GB of memory and it stops serving requests. Hence I've to
> restart the service when ever it reaches the limit. I was doing this
> manually for sometime and today I decided to make an event handler for
> this. We use Nagios 2.6 on Debian etch. So on the nagios server I
> created a service definition
>
> define service{
> use system-service
> host_name flash1-server
> service_description check-red5-process-memory-size
> event_handler restart_red5
> check_command check_nrpe_1arg!check_red5_proc_mem
> }
>
> And the command definition for the event handler:
>
> define command{
> command_name restart_red5
> command_line check_nrpe -H $HOSTADDRESS$ -c restart_red5
> -a $SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$
> }
>
>
> Now, on the red5 server I've defined the commands as:
>
> #check RSS of red5
> command[check_red5_proc_mem]=/usr/lib/nagios/plugins/check_procs -C
> java -a 'red5' -w 2900000 -c 3100000 --metric=RSS
> # event handler to restart red5
> command[restart_red5]=/usr/local/bin/restart_red5.sh
>
>
> I've added 'nagios' to /etc/sudoers:
> red5:~# grep 'nagios' /etc/sudoers
> nagios ALL= NOPASSWD: /etc/init.d/red5 restart
>
>
> Below is the restart_red5.sh script:
> -------------------
> #!/bin/sh
>
> # Event handler for nagios
> # restarts red5 daemon when its memory consumption reaches 3GB
> # args passed: $SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$
> /usr/bin/logger -t nrpe "$@"
> case "$1" in
> OK) ;;
> WARNING) ;;
> UNKNOWN) ;;
> CRITICAL)
> case "$2" in
> SOFT)
> case "$3" in
> 3)
> /usr/bin/logger -t nrpe 'Restarting red5 server...'
> /usr/bin/sudo /etc/init.d/red5 restart
> /usr/bin/pgrep java && /usr/bin/logger -t nrpe
> 'Successfully restarted red5 server...'
> ;;
> esac
> ;;
> HARD)
> /usr/bin/logger -t nrpe 'Restarting red5 server...'
> /usr/bin/sudo /etc/init.d/red5 restart
> /usr/bin/pgrep java && /usr/bin/logger -t nrpe
> 'Successfully restarted red5 server...'
> ;;
> esac
> ;;
> esac
>
> echo 'Done'
> exit 0
> -------------------
>
> And now about the issue I have. From the nagios log on the server, I
> can see that the event handler gets invoked. But on the red5 server,
> nothing happens. As you can see from the script, I log to syslog.
> Nothing shows up in the log. If I manually issue the check_nrpe
> command from the nagios server, I just get 'Done' as reply, whatever
> the values I pass as argument.
>
> nagios:~# /usr/lib/nagios/plugins/check_nrpe -H red5_server -c
> restart_red5 -a CRITICAL HARD 3
> Done
>
>
> logger doesn't print the arguments passed to the syslog as instructed
> in the script. If I print $# (the number of args), its always 0. My
> guess is that the arguments $SERVICESTATE$ $SERVICESTATETYPE$
> $SERVICEATTEMPT$ are not getting passed to the script. I have tried
> passing the arguments in the service definition itself
>
> define service{
> use system-service
> host_name flash1-server
> service_description check-red5-process-memory-size
> event_handler restart_red5!$SERVICESTATE$
> $SERVICESTATETYPE$ $SERVICEATTEMPT$
> check_command check_nrpe_1arg!check_red5_proc_mem
> }
>
>
> define command{
> command_name restart_red5
> command_line check_nrpe -H $HOSTADDRESS$ -c restart_red5 -a $ARG1$
> }
>
> It didn't have any effect as well.
>
>
> What am I doing wrong here ? Am sure its something simple, but I can't
> seem to get to it. Please help.
>
> TIA
> -Arun
> --
> ...Keep Smiling...
>
Nevermind the issue. It was something simpel as I guessed. I forgot to
pass $ARGn$ on red5_restart command definition on red5 server.
command[restart_red5]=/usr/local/bin/restart_red5.sh $ARG1$ $ARG2$ $ARG3$
No more manual restarts! :D
-Arun
--
...Keep Smiling...
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
_______________________________________________
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