ReleaseEngineering/PuppetAgain/Modules/collectd

From MozillaWiki
Jump to: navigation, search

This module installs and configures collectd on a system.

configuration

write plugins and their configurations must be defined in the org specific config file. By default, $collectd_write is set to undef in modules/config/manifests/base.pp and therefore the module is disabled.

$collectd_write is a hash which contains hashes of write plugins.

Currently, only graphite_nodes is available. In this example, $collectd_write configures the write_graphite plugin with 2 graphite servers.

   $collectd_write = {
       graphite_nodes => {
           'graphite-relay.private.scl3.mozilla.com' => {
               'port' => '2003', 'prefix' => 'hosts.',
           },
           'carbon.hostedgraphite.com' => {
               'port' => '2003', 'prefix' => "${graphite_apikey_hostedgraphite}.hosts."
           }
      },
   }


collectd

This is the main class for collectd. It ensures collectd is installed via 'packages::collectd', installs the main config file (collectd.conf), and sets up the plugin directory with a common set of plugins (common.conf)

This also ensures the service is running and notifies the service to restart should any config file change.

collectd::settings

This class must be included from the main collectd class. It sets parameters which vary between operating systems.

collectd::plugins

This directory contains individual manifests for each plugin. As plugin manifests are written, they should be documented on this page below.

collectd::profiles

Here different plugins are include on a per OS configuration. This is because not plugins are compatible between OS