skip to navigation
skip to content

Not Logged In

salmon 0.2.0

A simple metric collector with alerts.

https://secure.travis-ci.org/lincolnloop/salmon.png?branch=master https://coveralls.io/repos/lincolnloop/salmon/badge.png?branch=master

A simple monitoring system built on top of Django.

The intent is to serve both as an alerting system like monit and a monitoring system like munin (using Graphite's whisper database).

The original release of Salmon was coupled to Salt and designed to monitor servers (Sal t Mon itor). As of v0.2.0, the system has been decoupled from Salt and ingests data via a simple HTTP interface.

http://cl.ly/image/3s340i0W0N06/content.png https://cloudup.com/chXR0xnFtkf+

Installation

To bootstrap the project:

virtualenv salmon
source salmon/bin/activate
pip install salmon
salmon init
salmon upgrade
salmon collectstatic

Fire up the web server with:

salmon start

Sending Metrics to Salmon

Metrics are sent in as JSON over HTTP. The format for a single metric:

{
    "source": "test.example.com",
    "name": "load",
    "value": 0.1
}

Multiple metrics can be sent as an array:

[
    {"source": "test.example.com", "name": "load", "value": 0.1},
    {"source": "multi.example.com", "name": "cpu", "value": 55.5}
]

The API endpoint is /api/v1/metric/. If your Salmon server lives at http://salmon.example.com, you can POST to http://salmon.example.com/api/v1/metric/. Pass in your API key as found in ~/.salmon/conf.py for authentication. Using Curl, it would look something like this:

curl -i --user "<API_KEY>:" \
     -H "Content-Type: application/json" \
     -X POST \
     -d '{"source": "test.example.com", "name": "load", "value": 0.1}' \
     http://salmon.example.com/api/v1/metric/

Using Salt

  1. Setup the salt-stats states on your master or just grab the salmon returner
  2. Add the path to your Salmon install and API key (found in ~/.salmon/conf.py) to your Salt Pillar. (salmon pillar example)
  3. Add a schedule pillar. (schedule pillar example)
  4. Run salt '*' saltutil.sync_all

Note: To use Salt's ps module, psutil must be installed on the minions. Ubuntu provides a python-psutil package or it can be installed via pip install psutil.

 
File Type Py Version Uploaded on Size
salmon-0.2.0-py2.py3-none-any.whl (md5) Python Wheel 2.7 2013-12-17 271KB
salmon-0.2.0.tar.gz (md5) Source 2013-12-17 243KB
  • Downloads (All Versions):
  • 17 downloads in the last day
  • 143 downloads in the last week
  • 671 downloads in the last month