Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

collectd_eos-0.2.1.tar.gz (15.1 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

collectd_eos-0.2.1-py3-none-any.whl (10.0 kB view details)

Uploaded Python 3

collectd_eos-0.2.1-py2-none-any.whl (10.0 kB view details)

Uploaded Python 2

File details

Details for the file collectd_eos-0.2.1.tar.gz.

File metadata

  • Download URL: collectd_eos-0.2.1.tar.gz
  • Upload date:
  • Size: 15.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.15

File hashes

Hashes for collectd_eos-0.2.1.tar.gz
Algorithm Hash digest
SHA256 2061d2c29adb9b3eaa26a7e6c45e847aa4acfbced38d36b9d7d1a1aa8b78938b
MD5 56dde719735c666fd1ab86beed2e15ee
BLAKE2b-256 fddb3f0982baf0ed4c98643b986f769fa2afb6153c47b3dbc0d95d6163851de8

See more details on using hashes here.

File details

Details for the file collectd_eos-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: collectd_eos-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 10.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.15

File hashes

Hashes for collectd_eos-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0e7ee2534f09102fcd3b0ab854798ee89b6641602bcda5d5eeb20e306569f571
MD5 6eca225285bceabec0e9923802d0806b
BLAKE2b-256 334d9e002d28218aa1ad08980e43188fff05bc7c2ad02a6f5fb2fac2256eb034

See more details on using hashes here.

File details

Details for the file collectd_eos-0.2.1-py2-none-any.whl.

File metadata

  • Download URL: collectd_eos-0.2.1-py2-none-any.whl
  • Upload date:
  • Size: 10.0 kB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.15

File hashes

Hashes for collectd_eos-0.2.1-py2-none-any.whl
Algorithm Hash digest
SHA256 cff05f5b93ec65bb065fc8a5a2df4f5038906050442fc36ec5ff347a9d298d3c
MD5 f51ff09a31a7c52ff9f3c7b75e20ab3a
BLAKE2b-256 9512328857f5c131fff1b78121227aff5f431c4b538e72f6307ed35b2940b864

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page