Skip to main content

Simple allerting system for Graphite metrics.

Project description

|logo| graphite-beacon
######################

.. _description:

Simple allerting system for Graphite_ metrics.

Features:

* Simplest installation (one python package dependency);
* No software dependencies (Databases, AMPQ and etc);
* Light and full asyncronous;
* SMTP, Hipchat handlers (Please make a request for additional handlers);

.. _badges:

.. image:: https://secure.travis-ci.org/klen/mixer.png?branch=develop
:target: http://travis-ci.org/klen/mixer
:alt: Build Status

.. image:: https://coveralls.io/repos/klen/mixer/badge.png?branch=develop
:target: https://coveralls.io/r/klen/mixer
:alt: Coverals

.. image:: https://dl.dropboxusercontent.com/u/487440/reformal/donate.png
:target: https://www.gittip.com/klen/
:alt: Donate

.. _contents:

.. contents::

.. _requirements:

Requirements
=============

- python (2.7, 3.3, 3.4)
- tornado >= 4.0.0

.. _installation:

Installation
=============

**Graphite-beacon** could be installed using pip: ::

pip intall graphite-beacon

.. _usage:

Usage
=====
Just run `graphite-beacon`::

::
$ graphite-beacon
[I 141025 11:16:23 core:141] Read configuration
[I 141025 11:16:23 core:55] Memory (10minute): init
[I 141025 11:16:23 core:166] Loaded with options:
...

.. _configuration:

Configuration
-------------

**Graphite-beacon** default options are:

.. note:: Comment lines are not allowed in real JSON!

::

{
// Path to a configuration
"config": "config.json",

// Graphite server URL
"graphite_url": "http://localhost",

// HTTP AUTH username
"graphite_user": null,

// HTTP AUTH password
"graphite_password": null,

// Path to a pidfile
"pidfile": null,

// Default query interval
// Can be redfined for each alert.
"interval": "10minute",

// Default loglevel
"logging": "info",

// Default method (average, last_value).
// Can be redfined for each alert.
"method": "average",

// Default prefix (used for notifications)
"prefix": "[BEACON]",

// Default handlers (log, smtp, hipchat)
"critical_handlers": ["log", "smtp"],
"warning_handlers": ["log", "smtp"],
"normal_handlers": ["log", "smtp"],

// Default alerts (see configuration below)
"alerts": []
}

You can setup options with a configuration file. See `example-config.json`.

Setup alerts
------------
::

"alerts": [
{
// Alert name (required)
"name": "Memory",

// Alert query (required)
"query": "*.memory.memory-free",

// Alert method (optional)
"method": "average",

// Alert interval (optional)
"interval": "1minute",

// Alert rules
"rules": [
{
// Level
"level": "critical",
// Conditional (gt (>), ge (>=), lt (<), le (<=), eq (==))
"operator": "gt",

// Value to compare
"value": 80
},
{
"level": "warning",
"operator": "gt",
"value": 60
}
]
}
]

.. _command-line:

Command line
------------

::

$ graphite-beacon --help
Usage: graphite-beacon [OPTIONS]

Options:

--config Path to an configuration file (YAML)
(default config.json)
--graphite_url Graphite URL (default http://localhost)
--help show this help information
--pidfile Set pid file

--log_file_max_size max size of log files before rollover
(default 100000000)
--log_file_num_backups number of log files to keep (default 10)
--log_file_prefix=PATH Path prefix for log files. Note that if you
are running multiple tornado processes,
log_file_prefix must be different for each
of them (e.g. include the port number)
--log_to_stderr Send log output to stderr (colorized if
possible). By default use stderr if
--log_file_prefix is not set and no other
logging is configured.
--logging=debug|info|warning|error|none
Set the Python log level. If 'none', tornado
won't touch the logging configuration.
(default info)

.. _bugtracker:

Bug tracker
===========

If you have any suggestions, bug reports or annoyances please report them to
the issue tracker at https://github.com/klen/graphite-beacon/issues

.. _contributors:

Contributors
=============

* Kirill Klenov (https://github.com/klen, horneds@gmail.com)

.. _license:

License
=======

Licensed under a `MIT license`_.

.. _links:

.. _Graphite: http://graphite.wikidot.com/
.. _BSD license: http://www.linfo.org/mitlicense.html
.. |logo| image:: https://raw.github.com/klen/graphite-beacon/develop/beacon.jpg
:width: 100

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

graphite_beacon-0.0.1.tar.gz (8.7 kB view details)

Uploaded Source

Built Distribution

graphite_beacon-0.0.1-py2.py3-none-any.whl (12.9 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file graphite_beacon-0.0.1.tar.gz.

File metadata

File hashes

Hashes for graphite_beacon-0.0.1.tar.gz
Algorithm Hash digest
SHA256 379b19d29abac7cf44d98353e1cbb9a8460379bdc2c0afb21608d0d59dad3811
MD5 1f0e2bf49ec1cb1dc706e0bd44ff1b5f
BLAKE2b-256 ed3a13257c9640b0c3a629ebc2c8e372baef59543a23e01016360422cc82ff9b

See more details on using hashes here.

File details

Details for the file graphite_beacon-0.0.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for graphite_beacon-0.0.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 191c023d7f5c981d1181603265c3bec5468e5240d8384f2ebce0624b512bb520
MD5 923c564f08ccfcc3bcd3ae5ae320e4b4
BLAKE2b-256 c7322f32365af9e79c7c1d9eebce82f99b480feb4e966a5492e7c87258424769

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