is Sensu a replacement for both CollectD and Nagios?

Trying to get my facts straight here.

Is Sensu (pretty new kid on the block) meant to be a replacement for both the following?:

  • Nagios (monitoring & alerting)
  • collectD (feeding info to Nagios in this setup)

Let's summarize what each of these programs do-

  1. Nagios gathers data by some combination of executing programs locally, executing programs on remote systems (via ssh or nrpe), and receiving data from independent programs (via nsca). The data nagios collects is typically just the values 0, 1, 2, or 3 for the states ok, warning, critical, and unknown (although some plugins support sending performance metrics). Nagios acts on the data by sending alerts. There's a decent amount of configurability around who gets alerts for certain items at certain times, acknowledging alerts, escalating them, etc.

  2. Collectd gathers system and application metrics via plugins that read the data themselves (e.g. apache status, cpu usage) or receive data from other processes (e.g. statsd clients, other instances of collectd). Collectd can aggregate or filter the data if desired. It can then write it out to disk (as csv or rrd files) or send it out over the network via a number of protocols (collectd, graphite, http, mongo, redis, riemann, amqp). It has the ability to send alerts, but it's pretty bare bones.

  3. The Sensu server gathers data by some combination of telling the sensu clients to execute commands configured on the server (a check) or receiving data from commands configured on the client (a standalone check). The data can be a state like nagios uses or a metric. Sensu can alter the data it receives via mutators. It then passes the data on to handlers, which can do things like send alerts or send the data somewhere (e.g. graphite). Sensu has a rich api for on-the-fly configuration.

Nagios and sensu are comparable software, but collectd is not. You could imagine using collectd to feed nagios data via ncsa or feed sensu data via amqp, although doing either of these would require writing new plugins for collectd.


I suspect it's possible to use Sensu as a replacement for Nagios (it supports checks and actions)..

As far as replacing collectD, perhaps. It's difficult to tell without asking someone who actually works on it.

My first thought was "Hmm, only release 0.9, I wonder if it's really ready for production use".