collectd #1

Supports: trusty

Description

collectd is a small daemon which collects system information periodically and provides mechanisms to monitor and store the values in a variety of ways. Since the daemon doesn't need to startup every time it wants to update the values it's very fast and easy on the system. Also, the statistics are very fine grained since the files are updated every 10 seconds by default. The collected information can be used to find current performance bottlenecks (performance analysis) and predict future system load (capacity planning). This package provides a full installation of the daemon, including the configuration. For the core system, see the "collectd-core" package, which allows sites to, e.g., provide customizations (like a custom default configuration) on top of it without having to modify the "collectd" package.


Subordinate charm to deploy collectd into any machine. Currently just supports monitors which need no arguments. You can pass in specific configurations via the 'extra-config' option. Because of the way 'juju set' works, this can only be done via a yaml file, not with extra-config=...

Example

See the README for 'collectd-server' for a full example of how to deploy this charm and have it record data on a central server. To make use of collectd without one:

To add extra-config create a yaml file like this:

collectd-service:
  extra-config |
    LoadPlugin "df"
    <Plugin "df">
      MountPoint "/"
    </Plugin>

Then deploy like so:

juju deploy somecharm myservice
juju deploy collectd collectd-service
juju add-relation myservice collectd-service

This will deploy collectd to the units of myservice.

If you'd like to record many stats, do this:

juju set collectd-service plugins=maximum

Or if you have specific plugins you'd like to use:

juju set collectd-service plugins=cpu,vmem,interface

TODO

  • monitors and/or local-monitors relations
  • notifications

Configuration

extra-config
(string) Any extra configuration that you want to append to collectd.conf can be set here.
plugins
(string) Special values 'minimal', 'none', and 'maximum' will do the obvious thing. Minimal is just cpu+memory. You can also list all the individual plugins, comma separated.
minimal