Installs and configures collectd. Much of the work in this cookbook reflects work done by coderanger and realityforge.
-
Amazon 2012.09
-
CentOS 6
-
CentOS 7
-
Ubuntu 12.04
-
Ubuntu 14.04
-
Solaris 11.2. This works on Solaris zones given a physical Solaris 11.2 server.
- Use the .kitchen.zone.yml file for that. Check usage at (https://github.com/criticalmass/kitchen-zone).
- You will need Oracle SSL certificate-key pair to install Solaris Studio package. Check here http://www.oracle.com/technetwork/server-storage/developerstudio/downloads/index-jsp-141149.html and update test/integration/data_bags/oracle_key/not_real.json file.
- build-essential
- yum
node["collectd"]["version"]
- Version of collectd to install.node["collectd"]["dir"]
- Base directory for collectd.node["collectd"]["plugins_conf_dir"]
- Plugin directory for collectd.node["collectd"]["url"]
- URL to the collectd archive.node["collectd"]["checksum"]
- Checksum for the collectd archive.node["collectd"]["interval"]
- Number of seconds to wait between data reads.node["collectd"]["read_threads"]
- Number of threads performing data reads.node["collectd"]["write_queue_limit_high"]
- Upper bound on write queue size.node["collectd"]["write_queue_limit_low"]
- Lower bound on write queue size.node["collectd"]["collect_internal_stats"]
- Flag to collect internal collectd statistics.node["collectd"]["name"]
- Name of the node reporting statstics.node["collectd"]["fqdnlookup"]
- Flag to determine if the node should determine its own FQDN.node["collectd"]["plugins"]
- Mash of plugins for installation.node["collectd"]["python_plugins"]
- Mash of Python plugins for installation.node["collectd"]["plugins_conf_dir"]
- Directory for collectd plugins configuration files.node["collectd"]["graphite_role"]
– Role assigned to Graphite server for search.node["collectd"]["graphite_ipaddress"]
– IP address to Graphite server if you're trying to target one that isn't searchable.node["collectd"]["packages"]
– List of collectd packages.node["collectd"]["configure_flag"]
– Flag for enabling non-default collectd packages.
recipe[collectd-ng]
will install collectd from source.recipe[collectd-ng::attribute_driven]
will install collectd via node attributes.recipe[collectd-ng::packages]
will install collectd (and other plugins) from packages.recipe[collectd-ng::recompile]
will attempt to recompile collectd.
Note: You need to include the default recipe[collectd-ng]
when using recipe[collectd-ng:attribute_driven]
to install collectd
.
By default this cookbook will attempt to download collectd from collectd.org.
If your HTTP request includes Chef as the user agent, collectd.org returns an
HTTP response with a message asking you to please stop using their downloads
via Chef. It is highly recommended that you override
node["collectd"]["url"]
with your own download location for collectd.
A list of alternative download locations for collectd:
In order to configure collectd via attributes, setup your roles like:
default_attributes(
"collectd" => {
"plugins" => {
"syslog" => {
"config" => { "LogLevel" => "Info" }
},
"disk" => { },
"swap" => { },
"memory" => { },
"cpu" => { },
"interface" => {
"config" => { "Interface" => "lo", "IgnoreSelected" => true }
},
"df" => {
"config" => {
"ReportReserved" => false,
"FSType" => [ "proc", "sysfs", "fusectl", "debugfs", "devtmpfs", "devpts", "tmpfs" ],
"IgnoreSelected" => true
}
},
"write_graphite" => {
"config" => {
"Prefix" => "servers."
}
}
}
}
)