Announcing HoardD

HoardD is a node.js/coffeescript tool to send machine/service metrics to graphite


Getting back to work as a full time sysadmin was great, I got back to speed on scalability, updated my toolbox and learnt about other fantastic tools, like Graphite. Graphite is a graphing tool, extremely configurable and scalable. One thing, though, bothered me: the lack of good tools to send server metrics to it. I tried collectd graphite plugins and none did what I wanted the way I wanted.

So I decided to flex my node.js dev muscles and here is HoardD. This is a node.js app written in coffee-script that basically runs scripts and tools to get information about a server and sends it to carbon (Graphite’s storage backend). It’s easily expansible to include more metrics and very very fast and small (11MB or so, depending on scripts loaded, most of it is node).

At this moment there are basic scripts (uptime, memory, cpu, vmstat) and also 2 DB specific ones (redis and mysql). I will be fixing and adding scripts as I need on my day to day work, but the tool is already very usable. I am accepting push requests and patches to.

You can get HoardD on my github repo, there’s more info on the README there.

Below are some examples of graphics created with Graphite using the metrics sent by HoardD:

CPU stats from vmstat. Not a very busy server right? ![vmstat graph]()

Redis memory usage. Redis memory

MySQL Bytes transferred and received: "mysql network"

MySQL counters for various operations: "mysql counters"

Catching the exact moment when InnoDB flushes its dirty pages "innodb pages"

MySQL slave lag: "mysql slave lag"

cya!

 
comments powered by Disqus