Nagios event handlers are WHERE IT’S AT, BABY, YEAH! There are some services that I can just automagically restart without any problems. (WSUS, SQL Agent, etc.) This way, instead of notifying me, Nagios can just fix the problem for me and We Need Never Know.
These instructions assume I’m running NSClient++.
The script is
@echo off
net start %1
@exit 0
(This is kept intentionally minimal so it’ll be reusable.) I’m referring to this in nsclient.ini, under the “; A list of scripts available to run from the CheckExternalScripts module. Syntax is: <command>=<script> <arguments>
” header.
restartwsus=scripts\runcmd.bat wsusservice
On the Nagios server, I’ve defined the check in commands.cfg as:
define command{
command_name restartwsus
command_line /usr/lib/nagios/plugins/check_nrpe -H '$HOSTADDRESS$' -c restartwsus
}
and in the service definition as:
define service{
use generic-service
host_name wsusserver
service_description WSUS
contacts me
notification_options w,c,r
notification_period 24x7
notification_interval 0
check_command check_nt!SERVICESTATE!-d SHOWALL -l WsusService
event_handler restartwsus
}
It looks like this is copy and paste-able.