Ubuntu base with collectd and smartmontools (smartctl for SMART monitoring) and write to graphite.
100K+
This is a simple Ubuntu base with collectd and smartmontools installed, which provides smartctl allowing this container to monitor the SMART statistics for the physical drives in the host computer. It also supports all the usual collect plugins, though I have not tested them all.
This has been long on my list of things to come back to and update. Eventually, i've updated this container so it is based on ubuntu:latest, and uses the current verson of collectd from the universe Ubuntu repos. If there are any issues, please let me know by raising a support ticket via github, link below.
To keep the image small I've included only critical packages for collectd and SMART monitoring, so there may be a library or some other component that is missing, thereby breaking some plugins. These can be added by altering the Dockerfile to explicitly include the required libraries or packages, then building a new image. I'd happily accept any input on what changes/additions to make. The container comes pre-configured to push metrics gathered to a graphite instance that you will need to create (or already have). You can configure the container to use a specific graphite instance by updating the smart plugin configuration in the provided collectd.conf file, or by providing your own replacement collectd.conf file by way of a volume or bind-mounted file.
I'll leave it up to you to decide which, but this config facilitates both approaches with a little careful configuration of the docker parameters. Similarly, you could configure collectd to use any of the standard write_ plugins to push data to your preferred destination (rrdtool/kafka/redis etc.).
Make whatever other configuration changes are necessary in /etc/collectd/collectd.conf to meet your requirements. First, create a volume for the collectd.conf file to go in with : docker volume create collectd-config
Put your collectd.conf file in this volume in the _data folder, if you have one, if not, there's a configured sample in the image that will be used by default.
Next, start the container with:
docker run -d \
--name=collectd \
-e TZ=Europe/London \
-v collectd-config:/etc/collectd/ \
--restart unless-stopped \
gregewing/collectd:latest
collectd monitoring without running it in privileged mode., /config/ purely as a safe holding place for the collectd config file. I've also bind-mounted the collectd.conf file directly to /etc/collectd/collect.conf.
Content type
Image
Digest
sha256:124a46556…
Size
29.3 MB
Last updated
13 days ago
docker pull gregewing/collectd