Collectd plugin to monitor EOS MGM metrics.
Project description
Collectd plugin to collect EOS metrics. Connects to a mgm instance using eos client and publishes node, fs and space metrics.
Collectd config section example:
<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 expects 2 values:
EOS instance name / plugin instance name
EOS MGM URL
interval overrides the default collection interval
eos_client_command is used when there is no eos client on the collectd node, and ssh or docker are needed to run eos, especially during plugin development
If there are no instances defined in config and $EOS_MGM_URL is set, it is used as the default url with the instance name set to the hostname portion.
If there are no instances defined in config and $EOS_MGM_URL is unset, the current hostname is used as the instance name and url.
Testing
Test in virutalenv:
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
Use collectd.conf or collectd.docker.conf for functional testing: does the plugin cope with real metrics?
On a host with eos:
$ collectd -Tf -C collectd.conf
Docker can be used for the eos client:
$ 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
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.2.1 - 2019-02-28
Added
More testing
More documentation
Fixed
Readme needed one more newline at the end to be used as the package description
Removed
Python 2.6 support no longer promised, attempted, or tested.
0.2.0 - 2019-02-27
Added
pyproject.toml to define build requirements as per PEP-518
build-requirements.txt and build-requirements.26.txt to document build requirements in a more realistic, backwards-compatible way.
Changed
Configuration section format. mgm_url key is removed EOS instances are now defined by the key “instance” which expects two values:
instance name, must be unique, defines the collectd plugin instance name reported with the metrics
mgm_url, the url eos client will query for data
Fixed
Don’t sent interval of -1 to collectd, it does not interpret it as default
0.1.0 - 2019-02-26
Added
README.rst and CHANGELOG.rst
package sources src/collectd_eos
unit tests in tests/ and tox.ini
collectd.conf and collectd.docker.conf for testing with collectd
eos.types.db to define eos time-series datasets for collectd
LICENSE Apache 2
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for collectd_eos-0.2.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e7ee2534f09102fcd3b0ab854798ee89b6641602bcda5d5eeb20e306569f571 |
|
MD5 | 6eca225285bceabec0e9923802d0806b |
|
BLAKE2b-256 | 334d9e002d28218aa1ad08980e43188fff05bc7c2ad02a6f5fb2fac2256eb034 |
Hashes for collectd_eos-0.2.1-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cff05f5b93ec65bb065fc8a5a2df4f5038906050442fc36ec5ff347a9d298d3c |
|
MD5 | f51ff09a31a7c52ff9f3c7b75e20ab3a |
|
BLAKE2b-256 | 9512328857f5c131fff1b78121227aff5f431c4b538e72f6307ed35b2940b864 |