On 16/10/2017 17:41, Mick wrote:
> On Monday, 16 October 2017 16:12:53 BST Alan McKinnon wrote:
>> On 16/10/2017 17:08, Ian Zimmerman wrote:
>>> On 2017-10-16 14:11, Alan McKinnon wrote:
>>>> My needs here are pretty simple:
>>>> local watchdog that checks if a program is running and restart it if
>>>> not. If that fails 3 times or so, alert me.
>>>> Maybe a few file/dir/fifo monitors as well. Not much else.
>>>>
>>>> I don't need any of monit's graphing features or M/monit, I have other
>>>> tools for that. And mostly don't even need it's http API either.
>>>
>>> supervisor (aka supervisord)
>>>
>>> http://supervisord.org/
>>>
>>> python based, not sure if that's okay with you
>>
>> I forgot about supervisord. Like monit, it runs everywhere and might be
>> easier for the team-mates to understand and work with.
>>
>> Python is not a problem, all these hosts are ansible-managed anyway, so
>> they all have to run python-2.7
>>
>> Good find, thanks!
> 
> I've used Nagios in the past, but have not kept up with its development and 
> the many plugins it provides.  It could do any of the above tasks and much 
> more.  It can run scripts (perl, or bash) via daemons (nrpe) on the remote 
> systems to restart applications, et al.  The Nagios server possessed the 
> ability to set up quite intelligent monitoring and alert hierarchies with 
> multilayered comms structures to make sure you are not woken up at 2 a.m. by 
> your boss, just because a ping failed to his home NAS.  I also found the logs 
> which can be also stored on SQL quite useful both in troubleshooting problems 
> and in producing reports.  It can monitor network connectivity, remote OS 
> parameters and applications.  Writing your own plugin/module to monitor quite 
> specialised use cases is not particularly difficult either.
> 
> I expect you may find Nagios more complicated to set up than monit, at least 
> initially, but if you don't have the luxury of time to invest on setting up 
> Nagios monit may be a better fit.  I don't have in depth experience with 
> other 
> monitoring software to comment, so something else may suit better your 
> specific needs.
> 


Nagios and I go way back, way way waaaaaay back. I now recommend it
never be used unless there really is no other option. There is just so
many problems with actually using the bloody thing, but let's not get
into that :-)

I have a full monitoring system that tracks and reports on the state of
most things, but as it's a monitoring system it is forbidden to make
changes of any kind at all, and that includes restarting failed daemons.
Turns out that daemons that failed for no good reason are becoming more
and more common in this day and age, mostly because we treat them like
cattle not pets and use virtualization and containers so much. And
there's our old friend the Linux oom-killer....

What I need here is a small app that will be a constrained,
single-purpose watchdog. If a daemon fails, the watchdog attempts 3
restarts to get it going, and records the fact it did it (that goes into
the big monitoring system as a reportable fact). If the restart fails,
then a human needs to attend to it as it is seriously or beyond the
scope of a watchdog.

Like you, I'm tired of being woken at 2am because something dropped 1
ping when the nightly database maintenance fired up on the vmware
cluster :-)


-- 
Alan McKinnon
alan.mckin...@gmail.com


Reply via email to