跳转到主要内容

Riemann的事件监听器Supervisor

项目描述

http://img.shields.io/pypi/v/supermann.svg http://img.shields.io/pypi/l/supermann.svg http://img.shields.io/travis/borntyping/supermann/master.svg

Supermann监视在Supervisor下运行的进程,并将指标发送到Riemann

用法

Supermann作为Supervisor事件监听器运行,并在接收到每个事件时发送指标。Supermann所需配置仅包括Riemann实例的主机和端口,这可以通过参数或环境变量RIEMANN_HOSTRIEMANN_PORT提供。

基本用法如下,但Supermann如果不通过Supervisor运行则不会启动

supermann [--log-level=LEVEL] HOST PORT

Supermann的Supervisor配置文件应类似于以下内容

[eventlistener:supermann]
command=supermann-from-file /etc/supermann.args
events=PROCESS_STATE,TICK_5

此配置从/etc/supermann.args加载Supermann的参数,其中包含Riemann服务器的主机和端口 - 如果未指定主机或端口,则使用默认的localhost:5555

riemann.example.com 5555

Supermann做什么

Supermann将在每次接收到事件时收集和发送有关系统和Supervisor下运行的进程的信息。监听TICK_5PROCESS_STATE事件将每5秒收集和发送一次信息,并在程序状态改变时发送。有关更多信息,请参阅Supervisor事件文档

Supermann在遇到错误时会设计为退出,允许Supervisor重启它——建议您不要在Supervisor配置文件中设置autorestart=false以配置事件监听器。日志会发送到STDERR,由Supervisor收集——可以使用--log-level参数来控制日志级别。可以使用supervisorctl tail supermann stderr或查找Supervisor的日志目录中的日志来读取日志。

supermann-from-file

Supervisord事件监听器配置修改的问题(链接)意味着当Supervisord正在运行时,无法更改启动事件监听器进程的命令。

Supermann 2允许将文件直接命名为参数,从而可以读取更多参数。而Supermann 3提供了supermann-from-file入口点,它加载一个包含将传递给主supermann命令的参数的文件。

在版本之间升级的最简单方法是重命名Supervisord配置中的eventlistener:supermann部分,然后运行supervisorctl update。这将删除旧的supermann实例,并使用新命令启动一个新的实例。supermann-from-file命令从文件中读取一组参数,并使用这些参数启动Supermann,这样Supermann的配置就可以在不需要重新启动Supervisord的情况下进行更改。

安装

Supermann可以使用pip install supermann进行安装。建议将其安装在与Supervisor相同的Python环境中。

Supervisor也可以使用pip安装,或者可以从您发行版的包管理器中安装。一旦安装了Supermann,请将eventlistener部分添加到Supervisor配置文件中(默认为/etc/supervisord.conf),并重新启动Supervisor。

需求

psutil包使用C扩展,从源安装该包或使用python包管理器(如pip)安装将需要构建工具。或者,它可以从您发行版的存储库中安装(Debian和CentOS上的python-psutil)。Superman目前使用非常旧的psutil版本,以便与CentOS保持兼容。

Supermann是在Python 2.6上开发和测试的。由于Google的protobuf库(以及因此riemann-client)只兼容Python 2,因此没有计划为Python 3发布它。

变更日志

版本3.0.0

  • 升级到最新的psutil版本(2.1.1

  • 替换或更改了各种度量标准

  • argparse替换为click并改进了CLI

  • @file参数语法替换为supermann-from-file

  • 删除了--memmon选项和内存监控插件

  • Read the Docs上添加了文档

  • 许多其他小的修复和改进

许可证

Supermann根据MIT许可证授权。协议缓冲区定义来源于Riemann Java客户端,该客户端根据Apache许可证授权。

作者

Supermann 由 Sam Clements 编写,当时他在 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

项目详情


下载文件

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

源分发

supermann-3.2.0.tar.gz (13.0 kB 查看哈希值)

上传时间

构建分发

supermann-3.2.0-py2-none-any.whl (15.7 kB 查看哈希值)

上传时间 Python 2

由以下提供支持