Riemann的事件监听器Supervisor
项目描述
Supermann监视在Supervisor下运行的进程,并将指标发送到Riemann。
用法
Supermann作为Supervisor事件监听器运行,并在接收到每个事件时发送指标。Supermann所需配置仅包括Riemann实例的主机和端口,这可以通过参数或环境变量RIEMANN_HOST和RIEMANN_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_5和PROCESS_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-3.2.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b2d159bcb9d680d060fa44ac513b12b3e59540d21046b055e10b5978051d203e |
|
MD5 | 37781f50ded0f6578e834fca6617dc56 |
|
BLAKE2b-256 | b6e1a4f1c34f56037c8db42bef2abab6fb5ffb954a826a2eb52603677b0ca826 |
supermann-3.2.0-py2-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 996d8a008d68d2d33cd1b2db807895c92a3204323ef6522b4df7722df05601e9 |
|
MD5 | 20e4d1edf0e135785da9e5b6af8648cf |
|
BLAKE2b-256 | 9a63cd64c59da26b3fc4d861ad7fb4d329f6e3716e667bda2803dfdf6669383b |