Skip to content
This repository has been archived by the owner before Nov 9, 2022. It is now read-only.


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Build Status Coverage Status

The collectd-mlab package provides a collectd plugin and associated scripts for continuous monitoring and periodic export of metrics. This package is designed to run in the M-Lab experiment environment.

The primary contents are:

  • config/ -- collectd-python plugin, which harvests vserver-specific resource usage.

  • system/vsys/ -- vsys backend, which reports vserver-specific information not directly available to the experiment environment.

  • export/ -- metric export script, which periodically converts RRD metrics to JSON.

  • monitoring/ -- meta-monitoring nagios plugin, which verifies the resource monitoring system is working well.

  • * -- unit tests for all the above.

  • essential configuration and cron scripts to integrate everything.


Three packages are created by make rpm.

  • collectd-mlab -- the primary package that should be installed in the mlab_utility slice.

  • collectd-mlab-vsys -- The vsys package includes the vs_resource_backend script and nagios plugin. This should be installed in the host context.

  • collectd-mlab-devel -- A pseudo package that includes the list of required packages for developing this plugin.

Creation & Development

The collectd-mlab package was created to run in a CentOS 6 environment. Some adaptation will be needed to build or test in another environment.


Python files should follow the Google Python Style Guide:

Some exceptions are embedded in the collect-mlab source or encoded in .pylintrc.

If you find examples where this is not the case, please report it as a bug.

Adding New Metrics

To add new metrics to DISCO, update the following files:

  • disco/models.yaml - this file defines the set of SNMP metrics that collectd will sample.
  • plugin/types.db - this file defines the RRD parameters for the SNMP metrics declared in models.yaml. These values control the min / max values possible, the metric type (e.g. COUNTER or GAUGE).
  • export/export_metrics.conf - this file controls how RRD file names are mapped to 'metric' names when disco exports the RRD data to JSON.


Collectd plugin and configuration for Measurement Lab servers.








No releases published


No packages published

Contributors 4