Thursday, 23 September 2010

Cerberus Trial

Plenty of you will have heard me banging on about Cerberus recently and some will be wondering what it is, other than the multi-headed hound that guards Hades of course. Cerberus is an application I have been working on that monitors websites. Features so far include:

  • URL checking at configurable intervals up to once a minute
  • Measurement and recording of response times
  • Email notification on URL failure
  • Email notification on URL recovery

I'm currently running a free trial for a handful of websites and it's going very well. If you would like me to monitor your site, please contact me and I will be happy to add you to the trial.

Up and coming features include:

  • Dashboard for user monitoring
  • User configurable URLs
  • URL statistics
  • Automated reporting


  1. Hi Paul,

    I don't manage a website, so I'd like to know more about this, in particular why it is interesting. I'm not being facetious; most server software I write and work with sends out alerts about its availability, and such a service seems - and I'm sure I'm being naive - trivial.

    Could you mention the technical challenges that Cerberus addresses? For example, is it distributed, testing availability from multiple locations but being managed centrally? Does it back off? Does it intelligently crawl your site rather than simply handling pre-configured URLs? Does it attempt to diagnose the cause of a failure? Is there anything tricky about determining availability besides looking at an HTTP response? Why doesn't every web-server package integrate this functionality?

    Nearly every demo I've seen in a modern language in recent years has featured a line or two of code that fetches a URL. I could paste code into my brower's URL bar that could prepare an XMLHttpRequest and alert me in the onreadystatechange handler if it failed or else set a timer, so there's got to be something I'm missing, and that's without googling for "website monitor".

    If it's nothing remarkable - just useful - that's cool too, but from the way you're trialling it, I suspect it does something unique. I'm curious!


  2. Hi James!

    I don't here from you for months and then this! ;-)

    So, to answer your questions, yes server software can alert if there's a problem, assuming the problem allows it to do so. Cerberus is not intended for monitoring server software, but access to it and response times. So, it doesn't monitor the server as such, but its internet connection and of course if the sever does go down it alerts to that as well.

    I'm addressing technical challenges that are already addressed by other people: website monitoring. My reasons for doing so at this time are something I want to keep to myself for now. I will say though that Cerberus is just the first step to something much larger. My intention is to make it globally distributed. Currently it only checks single URLs and the only diagnosis it offers is the HTTP return code. There'd be no point in embedding this technology in a server as monitoring should be external.

    The actual code that does the monitoring is very, very simple. Cerberus isn't new or revolutionary in that respect.

    It's nothing remarkable (yet), but hopefully useful! It will have a USP, but that's to come. I'm trying to promote as, like all good software engineers, I want to see how my software preforms in the real world.