Monitoring Stack Components

Before tackling how to configure monitoring in Spinal Stack, the following is the list of components used to create the monitoring stack. Every component is open-source and freely available.

Name Role Technology License Homepage
RabbitMQ Transport layer Erlang Mozilla Public License http://www.rabbitmq.com/
redis Data store C BSD http://www.redis.io/
Sensu Monitoting router Ruby MIT http://www.sensuapp.org/
Uchiwa Dashboard for sensu NodeJS MIT http://sensuapp.org/docs/latest/dashboards_uchiwa

RabbitMQ

RabbitMQ is a robust and scalable AMQP broker - among other protocols.

In Spinal Stack, it allows Sensu server to publish a set of check to specific exchanges, within the sensu vhost, and receive the results published by the clients in return.

Redis

Redis is an advanced key-value cache and store

In Spinal Stack, it allows Sensu server to store persistent data with the need of a full-blown RDBMS.

Sensu

Sensu is often described as the “monitoring router”. Essentially, Sensu takes the results of “check” scripts run across many systems, and if certain conditions are met; passes their information to one or more “handlers”.

In Spinal Stack, it is the core monitoring components. Some checks are common to every nodes (ie. system checks), other are standalone checks and test nodes role specific feature.

Uchiwa

Uchiwa is the dashboard that let the administrator interact with Sensu.

In Spinal Stack, it is the component that will be the entry point for every monitoring related task, be it down-timing an alert, checking the health of the various nodes, etc...