collectd server #0

Supports: trusty


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.

This is the server endpoint for collectd based sensor collection.

In order to start doing data collection, deploy this charm as the endpoint for data. Deploy collectd (a subordinate) and relate it to this service to send data here. Relate collectd's juju-info interface to any services that you want it to be deployed inside of to collect data.


juju deploy collectd-server collectd-endpoint
juju deploy collectd collect-cpu
juju deploy collectd collect-php
juju add-relation collect-cpu collectd-endpoint
juju add-relation collect-memory collectd-endpoint
juju set collect-cpu plugins="cpu" # Optional, defaults are sane
juju set collect-php plugins="cpu,memory" # Optional, defaults are sane
juju deploy mysql mydb
juju deploy phpmyadmin mydbfrontend
juju add-relation mydb collect-cpu
juju add-relation mydbfrontend collect-php

The example above deploys two services, mysql and phpmyadmin, and adds a different configuration of collectd to each. Both collectd's are related to the 'collectd-endpoint' service and so will both feed data back there.

By default a simple readonly CGI is setup on the server to interpret any RRD files. You can view this by exposing the server

juju expose collectd-endpoint

And then browsing to http://$machine-ip/collectd/


add-unit on this service only creates high-availability, any related collectd subordinates will send collected data to both units.

Contact Information

Author: Clint Byrum Report bugs at:


(boolean) By default, exposing the server will only expose the webserver. Set this to true to expose collectd's ports as well.
(int) Setting this to 0 will disable the 'collection3' cgi frontend to the RRD Graphs. Otherwise this is the port where said cgi will listen (at /collectd/)
(string) This is the SecurityLevel to be used on the server. Valid values are None, Sign, and Encrypt