跳转到主要内容

一个带有警报的简单度量收集器。

项目描述

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

一个基于Django构建的简单监控系统。

其目的是作为一个像monit那样的警报系统,也作为一个像munin那样的监控系统(使用Graphite的whisper数据库)。

Salmon的原始版本与Salt耦合,设计用于监控服务器(Salt Monit)。截至v0.2.0,系统已从Salt解耦,并通过简单的HTTP界面收集数据。

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

安装

要引导项目

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

使用以下命令启动Web服务器

salmon start

将度量发送到Salmon

度量通过HTTP以JSON格式发送。单个度量的格式

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

多个度量可以作为一个数组发送

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

API端点是/api/v1/metric/。如果您的Salmon服务器位于http://salmon.example.com,您可以通过POSThttp://salmon.example.com/api/v1/metric/。通过传递在~/.salmon/conf.py中找到的API密钥进行身份验证。使用Curl,它看起来像这样

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/

使用Salt

  1. 在您的master上设置salt-stats状态,或者只是获取salmon返回器

  2. 将您的Salmon安装路径和API密钥(在~/.salmon/conf.py中找到)添加到您的Salt Pillar中。(salmon pillar示例

  3. 添加一个schedule pillar。(schedule pillar示例

  4. 运行salt '*' saltutil.sync_all

注意: 要使用Salt的ps模块,minions上必须安装psutil。Ubuntu提供了一个python-psutil包,或者可以通过pip install psutil安装。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

salmon-0.2.0.tar.gz (248.9 kB 查看哈希值)

上传时间

构建分布

salmon-0.2.0-py2.py3-none-any.whl (278.1 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下组织支持