Tuesday, September 9, 2014

Sensu

Overview

According to sensuapp.org, 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”. Checks are used, for example, to determine if a service like Apache is up or down. Checks can also be used to collect data, such as MySQL query statistics or Rails application metrics.Handlers take actions, using result information, such as sending an email, messaging a chat room, or adding a data point to a graph."
 Sensu is written in Ruby, can use existing Nagios plugins, is configured entirely in JSON, has a message oriented architecture, using RabbitMQ and JSON payloads, and is available via 'omnibus' packages.

There are only a few dependencies required to run Sensu. The Sensu server and API must be connected to a RabbitMQ instance for message routing and Redis for storing persistent data. The Sensu client will also need access to the RabbitMQ instance in order to get messages to the server. The following diagrams shows a basic workflow for Sensu checks and responses.


 

No comments:

Post a Comment