Skip to main content

Daemon that runs and reports health checks

Project description

Sauna is a small daemon designed to run health checks and send the results to a monitoring server. It is able to report to Nagios and Shinken out of the box.

It is made to be resource efficient (it avoids forking at all costs), simple to install and low maintenance.

Installation

A Debian package compatible with wheezy and jessie is available. Grab the latest release on Github and install it:

dkpg -i sauna_<version>_all.deb || apt-get install -f

Alternatively, Sauna is available on PyPI, you can install it with pip:

pip install sauna

Usage

Start by generating a sample configuration file sauna-sample.yml:

sauna sample

Edit the sample configuration to fit your system, pick the plugins that you want and choose a consumer. When you are done move the file as sauna.yml.

Start sauna:

sauna

You can easily run it as a daemon using systemd or supervisor. Startup scripts are included in the Debian package.

Using Sauna you will manipulate two entities: plugins and consumers.

Plugins

Plugins are optional modules that provide a set of checks. You only opt-in for the plugins that make sense for your setup. Available plugins are:

  • Load average
  • Memory and swap usage
  • Disk partition usage
  • Processes
  • Redis
  • External command
  • Puppet agent
  • Postfix

Consumers

Consumers on the other hand provide a way for checks to be processed by a central monitoring server.

Sauna can be both passive and active at the same time. From the monitoring server point of view, active consumers are the one where the monitoring server requests a status update and passive when the monitoring receive status updates.

Available consumers are:

  • NSCA (passive)
  • HTTP (passive)
  • TCP server (active)
  • Stdout (passive)

Contributing

Sauna is written in Python 3. Adding a check plugin or a consumer should be straightforward. Clone the repository and install it in development mode in a virtualenv:

pip install -e .

The code base follows pep8, test the code for compliance with:

pep8 sauna tests

Run the test suite:

nosetests

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
sauna-0.0.4-py3-none-any.whl (22.5 kB) Copy SHA256 hash SHA256 Wheel py3 Apr 19, 2016
sauna-0.0.4.tar.gz (15.4 kB) Copy SHA256 hash SHA256 Source None Apr 19, 2016

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page