Git Product home page Git Product logo

puppet-carbon's Introduction

####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.

puppet-carbon's People

Contributors

smerrill avatar

Watchers

James Cloos avatar Paul Jackson avatar Rob Houghton avatar Josh Sinfield avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.