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=...
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
- monitors and/or local-monitors relations