Questa è una vecchia versione del documento!
Nagios NRPE Event Handler
Appunti per Event Handler
in questo esempio prendiamo:
1) server nagios che monitora http
2) ubuntu server apache, nrpe server
Impostare quanto segue su ubuntu server http, nrpe ( il server DA monitorare ):
creare un semplice script del tipo:
#!/bin/sh
service apache2 stop
service apache2 start
salvarlo come /etc/nagios/restart-http.sh
impostare il comando:
##On Event- HTTP CRASH - Restart - nrpe event handler
command[restart_httpd]=sh /etc/nagios/restart-http.sh
Dare i permessi all'utente “nagios” in sudoers:
nagios ALL=(ALL) NOPASSWD: /usr/lib/nagios/plugins/
nagios ALL=(ALL) NOPASSWD: /usr/bin/service
Nagios Server:
Impostare il servizio come segue:
define service{ \\
host_name UbuntuFront \\
service_description HTTPD \\
check_command check_http \\
max_check_attempts 4 \\
event_handler restart-httpd!$SERVICESTATE$ $STATETYPE$ $SERVICEATTEMPT$ \\
use generic-service,nagiosgraph \\
notification_interval 0 ; set > 0 if you want to be renotified \\
} \\
Impostare il comando:
define command{ \\
command_name restart-httpd \\
command_line sh /etc/nagios3/conf.d/event-command/restart-http.sh $SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$ $HOSTADDRESS$ \\
} \\
Ed ora lo script, da rendere poi eseguibile con chmod +x restart-http.sh
case “$1” in OK)
;;
WARNING)
;;
UNKNOWN)
;;
CRITICAL)
case "$2" in SOFT) case "$3" in 3) echo -n "Restarting HTTP service (3rd soft critical state)..." /usr/lib/nagios/plugins/check_nrpe -H $4 -c restart_httpd ;; esac ;;
HARD) case "$3" in 4) echo -n "Restarting HTTP service..." /usr/lib/nagios/plugins/check_nrpe -H $4 -c restart_httpd ;; esac\\ ;; \\
esac
;;
esac
exit 0
FINE
