carbon

Install Carbon from EPEL packages and configure it.

Steven Merrill

stevenmerrill

8,887 downloads

8,887 latest version

2.3 quality score

Version information

  • 0.1.0 (latest)
released Aug 7th 2014
This version is compatible with:
  • Puppet Enterprise 3.x
  • Puppet 3.x
  • RedHat
    ,
    CentOS

Start using this module

Documentation

stevenmerrill/carbon — version 0.1.0 Aug 7th 2014

####Table of Contents

  1. Overview
  2. Usage
  3. Limitations - OS compatibility, etc.
  4. Development - Guide for contributing to the module

##Overview

A module for CentOS/RHEL 6 that configures and runs the Carbon part of the Graphite stack from EPEL. This is designed to be used with my module for graphite-api.

Several of the templates and parameters were copied from Daniel Werdermann's Graphite module.

Using the module

To install with the default parameters, use the following configuration.

include carbon

There are also several parameters you can set to control carbon-cache and carbon-aggregator's operation.

##Usage

###Parameters

#####package_name

This defaults to python-carbon, which will also install python-whisper and the necessary python dependencies from EPEL.

#####cache_service_name

This defaults to 'carbon-cache'.

#####aggregator_service_name

This defaults to 'carbon-aggregator'.

#####aggregator_rules

This is a hashmap of all the carbon aggregation rules.

The default is

{
  'carbon-class-mem'  => 'carbon.all.<class>.memUsage (60) = sum carbon.<class>.*.memUsage',
  'carbon-all-mem'    => 'carbon.all.memUsage (60) = sum carbon.*.*.memUsage',
}

#####storage_schemas

The storage schemas, which describes how long matching graphs are to be stored in detail.

The default is

[
  {
    name       => 'carbon',
    pattern    => '^carbon\.',
    retentions => '1m:90d'
  },
  {
    name       => 'default',
    pattern    => '.*',
    retentions => '1s:30m,1m:1d,5m:2y'
  }
]

The storage schemas, which describes how long matching graphs are to be stored in detail.

#####storage_aggregation_rules

This is a hashmap of the storage aggregation rules.

The default is

{
  '00_min'         => { pattern => '\.min$',   factor => '0.1', method => 'min' },
  '01_max'         => { pattern => '\.max$',   factor => '0.1', method => 'max' },
  '02_sum'         => { pattern => '\.count$', factor => '0.1', method => 'sum' },
  '99_default_avg' => { pattern => '.*',       factor => '0.5', method => 'average'}
}

##Limitations

This module will only work with RHEL or CentOS 6 at the moment, and will likely always be limited to RHELish systems. If you are not interested in installing carbon from packages, check out Daniel Werdermann's excellent Graphite module.

It requires the EPEL repository, and expects that Michael Stahnke's EPEL class (or any class named "epel") will provide those.

##Development

I will look at any pull requests. If you have a machine with Vagrant 1.6+ and Docker, you can quickly spin up a CentOS container to test using the vagrant-test directory here. https://github.com/smerrill/puppet-carbon-graphiteapi-tests will also let you test this module along with my graphite-api module.