Metadata-Version: 2.0
Name: sauna
Version: 0.0.2
Summary: Daemon that runs and reports health checks
Home-page: https://github.com/NicolasLM/sauna
Author: Nicolas Le Manchet
Author-email: nicolas@lemanchet.fr
License: MIT
Keywords: monitoring health checks nagios shinken
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: System Administrators
Classifier: Topic :: System :: Monitoring
Classifier: Topic :: System :: Systems Administration
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.2
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Requires-Dist: PyYAML
Requires-Dist: docopt

Sauna
=====

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
------------

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

   pip install sauna

Usage
-----

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

Plugins are optional modules that provide a set of checks. There is for
instance the Load plugin which provides checks about load average or the Redis
plugin which monitors the status of a Redis database. You only opt-in for the
plugins that make sense for your setup.

Consumers on the other hand provide a way to send the results of checks
generated by plugins to your monitoring server. There is the NSCA consumer that
sends data to a Nagios compatible server or the HTTP consumer to send the check
results to an API like livestatus.

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.

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 test

Run the test suite::

   nosetests

License
-------

MIT


