I’ve been busy around the Internets this week; most of this centres around collectd; monitoring tool extraordinaire.

  • I’ve gotten to know collectd‘s very pleasant source code, and contributed some new functionality (which non-coincidentally work benefits from). You can use this to have threshold notifications constantly report their status (previously you could only configure collectd to constantly report failures and warnings, not ‘okay’ messages). Patches for ‘master’ and 4.10. (Or, if you use Ubuntu, keep reading).
  • If we’re going to roll out collectd, then 95th percentile lines on the graphs are a must. collectd-web was the closest match to work’s requirements, though in the end not an ideal fit. Either way, it’s a good basis, so there’s a 95th patch, as well as basic Varnish and Conntrack plugin definitions on my fork.
  • The jQuery goodies in collectd-web aren’t really what I wanted from a web interface. I miss the old-time HTML-ness of Munin, and have attempted to recreate some of that with my first Flask app, collectd-flask. No documentation is provided, if it did exist it would be likely to be longer than the source code.
  • Given that there’s now functionality in patches for collectd that I need rolled out to a lot of machines, the obvious thing to do is build Debian packages. However, lacking any kind of private repository, using Ubuntu’s (really excellent) personal package archives has been great. You just build a source package, use dftp to upload it and then a Xen instance somewhere in the cloud builds your package for you (or, not, depending on errors). There’s now a PPA for Lucid with the Varnish plugin and PersistOK patch, and for Maverick with just PersistOK.
  • The Lucid package is maintained in this Bazaar repo. Previously it was maintained by running “diff -ru” a bunch of times. Memories.

Basically all of the infrastructure to do this is available via hosted services, almost exclusively free. I developed the patches on an Ubuntu VM, though technically you can get one of those for free from Amazon for a year. If you were very confident or patient, you could actually develop with a compiler, using the PPA service as your build server. (Though, that’s probably a pretty anti-social use of a shared resource).

Coding in the cloud; it’s here, and I’m late to it.