<html><body bgcolor="#FFFFFF"><div><br></div><div>On Sep 3, 2009, at 13:18, Leandro Quibem Magnabosco <<a href="mailto:leandro.magnabosco@fcdl-sc.org.br">leandro.magnabosco@fcdl-sc.org.br</a>> wrote:<br><br></div><div></div><blockquote type="cite"><div>

"Olá" Leonardo,<br>
<br>
Please note that Nagios uses mostly scripts to check services/disk/etc.
and that those scripts that 'tell' nagios the status of the
service/daemon/disk/etc.<br>
That said, I think you should not focus on Nagios to be proactive hence
that it's scripts could be used for that.<br>
<br>
Let's say you have check_http configured to check <a class="moz-txt-link-abbreviated" href="http://www.example.com"><a href="http://www.example.com">www.example.com</a></a>.<br>
It would connect to <a class="moz-txt-link-abbreviated" href="http://www.example.com"><a href="http://www.example.com">www.example.com</a></a> on port 80 and report if it suceeds
on sending a cmd or not .<br>
If something goes wrong, it would send a critical message back.<br>
This does not mean that the script is necessarily alerting nagios about
the problem, it is alerting whatever called it in the first place.<br>
<br>
What I mean is, you don't *need* nagios to be in the middle of it and
(IMO) you should not try to integrate it into this kind of solution
because it would just make things more complicated.<br>
<br>
One simple way to implement that would be improving the scripts that
comes with nagios-plugins.<br>
A "simple" if statement and some coding after it would do the trick.<br>
If the script already has the capability to check the status of
something and be aware of the present status and take active measures .<br>
<br>
Interfere with the  "function" that prints the message "CRITICAL" to
make it, for eg., "ssh -T host /etc/init.d/apache2 restart".<br></div></blockquote><span class="Apple-style-span" style="color: rgb(0, 35, 163);"><br></span><div><span class="Apple-style-span" style="color: rgb(0, 35, 163);">I have used the scripts from Nagios in a similar way: a project ("extotest") using Nagios plugins and autotools' autotest to check all critical services before and after complex firewall ACL changes. It's similar in that it leverages the good work of many contributors but doesn't use the Nagios Core as an engine.</span></div><div><span class="Apple-style-span" style="color: rgb(0, 35, 163);"><br></span></div><div><span class="Apple-style-span" style="color: rgb(0, 35, 163);">In your case, a cronjob might suffice:</span></div><div><span class="Apple-style-span" style="color: rgb(0, 35, 163);"><br></span></div><div><span class="Apple-style-span" style="color: rgb(0, 35, 163);">#!bash</span></div><div><span class="Apple-style-span" style="color: rgb(0, 35, 163);"><br></span></div><div><span class="Apple-style-span" style="color: rgb(0, 35, 163);">case $(check_http -opt -opt) in</span></div><div><span class="Apple-style-span" style="color: rgb(0, 35, 163);">OK*)</span></div><div><span class="Apple-style-span" style="color: rgb(0, 35, 163);">   exit 0</span></div><div><span class="Apple-style-span" style="color: rgb(0, 35, 163);">   ;;</span></div><div><span class="Apple-style-span" style="color: rgb(0, 35, 163);">*)</span></div><div><span class="Apple-style-span" style="color: rgb(0, 35, 163);">   exec /etc/init.d/httpd restart</span></div><div><span class="Apple-style-span" style="color: rgb(0, 35, 163);">   ;;</span></div><div><span class="Apple-style-span" style="color: rgb(0, 35, 163);">esac</span></div><div><span class="Apple-style-span" style="color: rgb(0, 35, 163);"><br></span></div><div><span class="Apple-style-span" style="color: rgb(0, 35, 163);">Allan</span></div><div><span class="Apple-style-span" style="color: rgb(0, 35, 163);">--</span></div><div><span class="Apple-style-span" style="color: rgb(0, 35, 163);"><a href="http://tech.chickenandporn.com/tags/nagios">http://tech.chickenandporn.com/tags/nagios</a></span></div><div><span class="Apple-style-span" style="color: rgb(0, 35, 163);"><br></span></div></body></html>