Programatically scheduleing down time


i don’t even know where to start with this.

i manage a server room full of machines that do work (a farm, if you will). sometimes they don’t have work to do, i have written a service that centrally manages putting the machines to sleep when they don’t have work to do and wakes them up (wol) when there is work to be done. so far, so good.

i am runing nagios 2.x and need a way to tell nagios not to panic when these machines are down on account of the service. of coarse i can tell it not to panic at all when these machines go down, but i am not fond of that option. i can write something in to all of my checks so that they lie when the machine is down (checks a list of down-ed machines), still not a fan, but getting warmer. the ideal for me would be to simply schedule and un-schedule downtime for machines from here until eternity, and that way if a machine didn’t wake up when it was told to, that would show up in nagios.

how on earth can i do this? i would search documentation/forums more throughally, but i can’t think of the words to suitably even begin.




Hopefully your service that centrally manages the shutdown and wakeup decision is on the same server that Nagios runs. If that’s the case you can use External Commands to schedule immediate downtime in Nagios. (Otherwise you still can but you will have to write some interface between that server and the nagios server to transmit the commands.)

Look in the documentation for External Commands and here is a list of what you can do : … ndlist.php



thats EXACTALLY what i was looking for, thankyou so much.

i may put the server on the nagios box, but at the moment ours is at 100% utilization day in and day out (250 hosts, 1800 checks) so for now i will try to interface via ssh and see where i end up.

thanks for the response