You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.3 KiB
Bash
51 lines
1.3 KiB
Bash
#!/bin/sh
|
|
|
|
# Set a default path
|
|
PATH="/usr/bin:/bin"
|
|
|
|
# This is where we write to Nagios command pipe
|
|
# Make sure it's writeable (follow Nagios plugin exit code API)
|
|
commandfile="/usr/local/nagios/var/rw/nagios.cmd"
|
|
if [ ! -w "$commandfile" ]; then
|
|
echo "ERROR: Cannot write to $commandfile"
|
|
exit 2
|
|
fi
|
|
|
|
# Send to Nagios
|
|
send_nagios() {
|
|
now=`date +%s`
|
|
/bin/printf "[%lu] $*\n" $now > $commandfile
|
|
}
|
|
|
|
# Stop executing service checks
|
|
stop_engine() {
|
|
send_nagios "STOP_EXECUTING_SVC_CHECKS"
|
|
send_nagios "STOP_EXECUTING_HOST_CHECKS"
|
|
send_nagios "STOP_ACCEPTING_PASSIVE_SVC_CHECKS"
|
|
send_nagios "STOP_ACCEPTING_PASSIVE_HOST_CHECKS"
|
|
send_nagios "DISABLE_EVENT_HANDLERS"
|
|
send_nagios "DISABLE_NOTIFICATIONS"
|
|
send_nagios "DISABLE_FLAP_DETECTION"
|
|
send_nagios "DISABLE_PERFORMANCE_DATA"
|
|
}
|
|
|
|
# Start the monitoring engine
|
|
start_engine() {
|
|
send_nagios "START_ACCEPTING_PASSIVE_HOST_CHECKS"
|
|
send_nagios "START_ACCEPTING_PASSIVE_SVC_CHECKS"
|
|
send_nagios "START_EXECUTING_HOST_CHECKS"
|
|
send_nagios "START_EXECUTING_SVC_CHECKS"
|
|
send_nagios "ENABLE_EVENT_HANDLERS"
|
|
send_nagios "ENABLE_NOTIFICATIONS"
|
|
send_nagios "ENABLE_FLAP_DETECTION"
|
|
send_nagios "ENABLE_PERFORMANCE_DATA"
|
|
}
|
|
|
|
while [ -n "$1" ]; do
|
|
case "$1" in
|
|
start) start_engine; shift 1;;
|
|
stop) stop_engine; shift 1;;
|
|
*) shift 1;;
|
|
esac
|
|
done
|