This file documents important changes to the Docker plugin for collectd.
- 2017-09-06: Use New Docker Python Client
- 2017-03-31: Update Documentation For Filtering Blkio Metrics
- 2017-03-29: Improve Dimension Extraction Robustness
- 2016-08-03: Dimensionalize block I/O and CPU per-core metrics
The old docker-py
pip package has been deprecated, so we are switching to the
new docker
pip package. This means that the oldest version of docker we can
support is 1.21.
The only change to metric output is that now all network datapoints have an
interface
dimension and there can potentially be multiple interfaces per
container.
If you are updating an existing collectd installation, you will need to
manually uninstall docker-py by running pip uninstall docker-py
and then
reinstall the requirements.txt
file from this repo.
Update documentation for filtering blkio Metrics.
Improves the stability of the plugin when containers are observed with environment variables set to empty strings.
Prior to this update, the plugin transmitted block I/O and CPU per-core metrics with the names of the block device and CPU core respectively included as part of the metric name. In this update, this information has been removed from metric names to dimensions.
SignalFx's built-in dashboards have been updated to accommodate metrics from both before and after this change.
When you upgrade to this version, any custom SignalFx charts and detectors that you have built that include block I/O or per-core CPU metrics may need to be modified to include the new metric names. Modify charts as follows:
- Whenever a chart uses an affected metric (see below), add a new plot to the chart that uses the new metric name instead.
- On the new plot, apply a filter by the new dimensions, with a value that matches the contents of the previous metric name.
- If your chart uses a timeseries expression that refers to the previous metric, clone the expression, then modify any letter references in the clone to refer to the new plot instead of the old one.
For detectors, follow the procedure above, then select the new plot or new timeseries expression as the signal.
In this update, the block device identifier has been moved from metric names to the dimensions called "device_major" and "device_minor".
For example:
Metric name | device_major | device_minor | |
---|---|---|---|
Before | blkio.io_service_bytes_recursive-252-0.read |
n/a | n/a |
After | blkio.io_service_bytes_recursive.read |
252 |
0 |
In this update, the CPU core identifier has been moved from metric names to the dimension called "core".
For example:
Metric name | core | |
---|---|---|
Before | cpu.percpu.usage.cpu0 |
n/a |
After | cpu.percpu.usage |
cpu0 |