Collectd插件用于监视EOS MGM度量。
collectd-eos的Python项目详细描述
用于收集EOS度量的collected插件。 使用eos客户端连接到mgm实例,并发布节点、fs和空间度量。
collectd config部分示例:
<Plugin python> Import collectd_eos <Module collectd_eos> instance example root://eos.example instance another root://another.eos.instance.example instance third root://third.mgm.intance.example interval 60 eos_client_command ssh client.host.example eos </Module> </Plugin>
- instance需要2个值:
- eos实例名/插件实例名
- EOS米高梅网址
- interval覆盖默认的收集间隔
- eos_client_命令在collected节点上没有eos客户端时使用, 运行eos需要ssh或docker,特别是在插件开发期间
如果配置中没有定义实例,并且设置了$eos_mgm_url, 它用作默认url,实例名设置为主机名部分。
如果配置中没有定义实例,并且$eos_mgm_url未设置, 当前主机名用作实例名和url。
测试
病毒试验:
virtualenv venv . venv/bin/activate pip install -r build-requirements.txt -r test-requirements.txt pip install -e . pytest python setup.py sdist bdist_wheel twine check dist/* tox
使用collectd.conf或collectd.docker.conf进行功能测试:插件是否处理实际的度量?
在带有EOS的主机上:
$ collectd -Tf -C collectd.conf
Docker可用于EOS客户端:
$ docker run --name eos_client --rm -itd gitlab-registry.cern.ch/dss/eos:4.4.10 <container id output> $ docker exec -it eos_client kinit <username>@CERN.CH <password prompt> $ collectd -Tf -C collectd.docker.conf <check collectd log for errors> $ docker stop eos_client
更改日志
该项目的所有显著变化都将记录在本文件中。
格式基于Keep a Changelog, 这个项目遵循Semantic Versioning。
0.2.0-2019-02-27
已添加
- pyproject.toml根据PEP-518 定义构建需求
- build-requirements.txt和build-requirements.26.txt用于记录构建需求 以一种更现实,向后兼容的方式。
已更改
- 配置节格式。已删除米高梅URL密钥
eos实例现在由“instance”键定义,该键需要两个值:
- 实例名,必须唯一, 定义用度量报告的collectd插件实例名
- mgm_url,url eos客户端将查询数据
已修复
- 不将-1的间隔发送到collectd,它不会将其解释为默认值
0.1.0-2019-02-26
已添加
- readme.rst和changelog.rst
- 包源src/collected_eos
- 测试中的单元测试/和tox.ini
- collectd.conf和collectd.docker.conf用于使用collectd进行测试
- eos.types.db定义collectd的eos时间序列数据集
- 许可apache 2