Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/lebauce/docker-collectd-plugin

docker-collectd-plugin
https://github.com/lebauce/docker-collectd-plugin

Last synced: 1 day ago
JSON representation

docker-collectd-plugin

Awesome Lists containing this project

README

        

# docker-collectd-plugin

[![Build Status](https://travis-ci.org/lebauce/docker-collectd-plugin.svg?branch=master)](https://travis-ci.org/lebauce/docker-collectd-plugin)

A [Docker](http://docker.io) plugin for [collectd](http://collectd.org)
using [docker-py](https://github.com/docker/docker-py) and collectd's
[Python plugin](http://collectd.org/documentation/manpages/collectd-python.5.shtml).

This uses the new stats API (https://github.com/docker/docker/pull/9984)
introduced by Docker 1.5.

The following container stats are reported for each container:

* Network bandwidth
* Memory usage
* CPU usage
* Block IO

The name of the container is used for the `plugin_instance` dimension.

## Install

1. Checkout this repository somewhere on your system accessible by
collectd; for example as
`/usr/share/collectd/docker-collectd-plugin`.
1. Install the Python requirements with `pip install -r
requirements.txt`.
1. Configure the plugin (see below).
1. Restart collectd.

## Configuration

Add the following to your collectd config:

```
TypesDB "/usr/share/collectd/docker-collectd-plugin/dockerplugin.db"
LoadPlugin python

ModulePath "/usr/share/collectd/docker-collectd-plugin"
Import "dockerplugin"


BaseURL "unix://var/run/docker.sock"
Timeout 3

```
*Warning* :
Adding a custom `TypesDB` can raise a collectd error displaying :
```
Unhandled python exception in read callback: TypeError: Dataset gauge not found
```
To fix this you will have to explicitly add the path to the default `types.db` file. For instance, on `debian-jessie`, this will look like :
```
TypesDB "/usr/share/collectd/docker-collectd-plugin/dockerplugin.db"
TypesDB "/usr/share/collectd/types.db"
```

## Requirements

* docker-py
* python-dateutil
* docker 1.5+