Forge Home

graphite

Module for managing Graphite single-server installations, clusters and federations

9,233 downloads

9,233 latest version

4.2 quality score

Version information

  • 0.1.0 (latest)
released Aug 30th 2014
This version is compatible with:
  • Ubuntu

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'boyand-graphite', '0.1.0'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add boyand-graphite
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install boyand-graphite --version 0.1.0

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download

Documentation

boyand/graphite — version 0.1.0 Aug 30th 2014

A Puppet module for managing the installation, clustering and ferderation of Graphite.

Usage

Single server deployment with just one carbon cache

 class { '::graphite':
    port                 => 8888,
  }

  graphite::cache { 'a':}

Multi server deployment with several carbon relays and caches and local memcache on each node

 class { '::graphite':
    port                 => 8888,
    webapp_cluster_nodes => ["10.0.0.2"],
    carbonlink_hosts     => ['127.0.0.1:7002:a','127.0.0.1:7102:b','127.0.0.1:7202:c','127.0.0.1:7302:d'],
    memcache_hosts       => ['127.0.0.1']
  }

  graphite::cache { 'a':
    pickle_receiver_port => '2004',
    line_receiver_port   => '2003',
    cache_query_port     => '7002'
  }

  graphite::cache { 'b':
    pickle_receiver_port => '2104',
    line_receiver_port   => '2103',
    cache_query_port     => '7102',
  }

  graphite::cache { 'c':
    pickle_receiver_port => '2204',
    line_receiver_port   => '2203',
    cache_query_port     => '7202',
  }

  graphite::cache { 'd':
    pickle_receiver_port => '2304',
    line_receiver_port   => '2303',
    cache_query_port     => '7302',
  }

  # destinations - lists the ip addresses of all nodes in the cluster running carbon caches
  # carboncache_instances - lists the ports and instance names of the carbon caches on a single instance (We assume that all nodes are configured the same)
  graphite::relay { 'a':
    pickle_receiver_port     => '2014',
    line_receiver_port       => '2013',
    replication_factor       => '2',
    destinations             => ['10.0.0.1','10.0.0.2'],
    carboncache_instances    => ['2004:a','2104:b','2204:c','2304:d'],
  }

Yet another module?

There are many existing graphite modules that focus on particular default installation usecases and fail to address more sophisticated deployments. The motivation behind yet another graphite module is to provide the means for managing a graphite cluster in both single and multi server configuration in the most flexible way.

This module is under development and currently has been tested only on Ubuntu. Nevertheless porting it to another distribution should be trivial.

At the moment this module can bring up arbitrary number of carbon caches and relays and federate the graphite dashboard. It is compatible with graphite 0.9.x and puppet < 4.0