Riemann的主管事件列表
supermann的Python项目详细描述
超人监视在Supervisor下运行的进程,并将度量发送到Riemann。
用法
超人作为主管事件监听器运行,每次接收到事件时都会发送度量。supermann需要的唯一配置是riemann实例的主机和端口,它可以作为参数或由RIEMANN_HOST和RIEMANN_PORT环境变量提供。
基本用法如下,但如果不在主管下运行,SuperMann将不会启动:
supermann [--log-level=LEVEL] HOST PORT
supermann的管理器配置文件应该如下所示:
[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
超人做什么
每次收到事件时,超人将收集并发送有关系统和在主管下运行的进程的信息。监听TICK_5和PROCESS_STATE事件将每5秒收集并发送一次信息,并且当程序更改状态时。有关详细信息,请参见Supervisor event documentation。
supermann被设计为在遇到错误时进行解救,允许主管重新启动它-建议不要在事件侦听器的主管配置中设置autorestart=false。日志被发送到STDERR供主管收集-可以使用--log-level参数控制日志级别。可以使用supervisorctl tail supermann stderr读取日志,也可以在主管的日志目录中查找日志。
supermann-from-file
修改supervisord event listener(link)的配置的问题意味着在supervisord运行时,无法更改用于启动事件侦听器进程的命令。
超人2允许将文件直接命名为参数,以便从中读取更多参数。supermann 3提供了supermann-from-file入口点,该入口点加载包含将传递给主supermann命令的参数的文件。
在不同版本之间升级的最简单方法是重命名supervisord configuration中的eventlistener:supermann部分,然后运行supervisorctl update。这将删除旧的超人实例,并使用新命令启动新实例。supermann-from-file命令从文件中读取一组参数,并用这些参数启动supermann,这样就可以在不重新启动supervisord的情况下更改supermann的配置。
安装
超人可以用pip install supermann安装。建议将其安装在与supervisor相同的python环境中。
supervisor也可以用pip安装,或者可以从您的发行版包管理器安装。安装SuperMann后,将eventlistener部分添加到管理器配置中(默认情况下为/etc/supervisord.conf),然后重新启动管理器。
要求
psutil包使用c扩展,从源代码或使用python包管理器(如pip)安装包需要构建工具。或者,也可以从发行版的存储库(debian和centos上的python-psutil)安装它。超人目前使用非常旧的psutil版本,以便与centos兼容。
超人是在Python2.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 的文档
- 许多其他小的修复和改进
许可证
超人是根据MIT Licence授权的。协议缓冲区定义来自Riemann Java client,该定义是根据Apache Licence授权的。