A Supervisor event listener for Riemann
Project description
Supermann monitors processes running under Supervisor and sends metrics to Riemann.
Usage
Supermann runs as a Supervisor event listener, and will send metrics every time an event is received.
A very basic Supervisor configuration section to run Supermann:
[eventlistener:supermann] command=supermann localhost 5555 events=PROCESS_STATE,TICK_5
Listening for the PROCESS_STATE and TICK_5 events will send metrics every 5 seconds, and when a program changes state. See the Supervisor event documentation for more information. Supermann is designed to bail out when an error is encountered, allowing Supervisor to restart it - it is recommended that you do not set autorestart=false in the Supervisor configuration for the eventlistener. Supervisor logs to stderr, which is logged by Supervisor. The logs can be read with supervisorctl tail supermann stderr or finding the log in Supervisor’s log directory.
supermann --help will display usage information on the available arguments. Basic usage is:
supermann [--log-level=INFO] [--memmon <name>=<limit>] $RIEMANN_HOST $RIEMANN_PORT
The --memmon option takes the name of a Supervisor program, and a memory limit in bytes. The suffixes gb, mb and kb can be used, and are case insensitive. This option can be repeated any number of times.
Installation
Supermann can be installed with pip install supermann, or you can use the provided makefile to build and distribute an RPM using [fpm](https://github.com/jordansissel/fpm).
Supervisor can also be installed with pip, or can be installed from your distributions package manager. Once Supermann is installed, add an eventlistener section to the Supervisor configuration (/etc/supervisord.conf by default) and restart Supervisor.
Requirements
The psutil package uses C extensions, and installing the package from source or with a python package manager (such as pip) will require build tools. Alternatively, it can be installed from your distribution’s repositories (python-psutil on Debian and CentOS). Superman currently uses a very old version of psutil so as to remain compatible with CentOS.
Supermann is developed and tested on Python 2.6. There are no plans to release it for Python 3, as Google’s protobuf library (and therefore riemann-client) are only compatible with Python 2.
Licence
Supermann is licensed under the MIT Licence. The protocol buffer definition is sourced from the Riemann Java client, which is licensed under the Apache Licence.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file supermann-2.1.3.tar.gz
.
File metadata
- Download URL: supermann-2.1.3.tar.gz
- Upload date:
- Size: 9.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b154eb057ae729edf61d7787b83da0b77da17efaef8f34f121dc6a6d7f0b9399 |
|
MD5 | df7908c6c5c30bbf7102a2fe6724a574 |
|
BLAKE2b-256 | 000adeb488ee4985605354d48ee60c2d529838341837660c646b4dbab445d0f2 |
File details
Details for the file supermann-2.1.3-py2-none-any.whl
.
File metadata
- Download URL: supermann-2.1.3-py2-none-any.whl
- Upload date:
- Size: 21.3 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 58967845667fdf888708e17f4443332d5e8c6645f50ee9fe0d473f998356aa73 |
|
MD5 | c0a6cea9982e31ffa61b3249fefb199f |
|
BLAKE2b-256 | 015693b0bed3addb6b1623b8902032c83938f8422932b894a4949fc84532618e |