Skip to main content

A Supervisor event listener for Riemann

Project description

https://pypip.in/v/supermann/badge.png https://travis-ci.org/borntyping/supermann.png?branch=master

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

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.

Authors

Supermann was written by Sam Clements, while working at DataSift.

https://0.gravatar.com/avatar/8dd5661684a7385fe723b7e7588e91ee?d=https%3A%2F%2Fidenticons.github.com%2Fe83ef7586374403a328e175927b98cac.png&r=x&s=40 https://1.gravatar.com/avatar/a3a6d949b43b6b880ffb3e277a65f49d?d=https%3A%2F%2Fidenticons.github.com%2F065affbc170e2511eeacb3bd0e975ec1.png&r=x&s=40

Project details


Download files

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

Source Distribution

supermann-2.1.0.tar.gz (9.7 kB view details)

Uploaded Source

Built Distribution

supermann-2.1.0-py27-none-any.whl (14.1 kB view details)

Uploaded Python 2.7

File details

Details for the file supermann-2.1.0.tar.gz.

File metadata

  • Download URL: supermann-2.1.0.tar.gz
  • Upload date:
  • Size: 9.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for supermann-2.1.0.tar.gz
Algorithm Hash digest
SHA256 0c5c3e346454f8f6f26a43120c9d463862251cc091312cd79ffdeff4d8df0c1d
MD5 69121f44a25fe463e2f6059979bcad3f
BLAKE2b-256 97e1f1927b9975da923722e2e242d80fd6e6325941e7dfea4dc37d9edd0937d3

See more details on using hashes here.

File details

Details for the file supermann-2.1.0-py27-none-any.whl.

File metadata

File hashes

Hashes for supermann-2.1.0-py27-none-any.whl
Algorithm Hash digest
SHA256 218c99accc9f70b9356f8453a3336de4f87469ce5b3618b0874c5f21419c8d77
MD5 1afa878580f5409f2d283f170a17a0e0
BLAKE2b-256 4b7b7a4bc3430feba43ea6b3170855d6a6f001fc254634859646b22e1b718ad0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page