Nuclear Rooster

11Jul/110

Cloudkick Webhooks for Alert Trending and Jabber Notifications

Like every monitoring solution around, Cloudkick isn't perfect. I think it's overpriced and has too much logic integrated into the web-app UI. Cloudkick does OK, just something lacking in the warm-fuzzies department. Digging into Cloudkick's Webhooks, it proves extensible enough to add some useful functionality. The worst thing a monitoring solution can try to do is to solve every monitoring/alerting problem, and webhooks are a great model for adding decoupled features.

Two features high on my list were trending alerts ("It seems like these damn alerts are going off CONSTANTLY!") and adding Jabber notifications for alerts I didn't care about quite enough to land in my inbox.

Here's a small Sinatra app that makes these possible:

Run the Sinatra app somewhere (bug me and I'll release a chef cookbook for it), and add the URL as a new webhook 'Address' in Cloudkick, and then select it for all applicable 'Monitors'.

To test the webhook, save the example payload to a file:

And use CURL to test:

Here's what the graphite graph starts to look like after a few days (using Graphite's drawNonZeroAsInfinite() data function).

Enjoy!