graphite

Graphite server configuration using Docker.
Alex Smith

Alex Smith

ajsmith

8,601 downloads

5,430 latest version

5.0 quality score

Version information

  • 0.6.1 (latest)
  • 0.6.0
  • 0.5.1
  • 0.5.0
  • 0.4.0
  • 0.3.3
  • 0.3.2
released Jul 3rd 2019
This version is compatible with:
  • Puppet Enterprise >= 3.7.0
  • Puppet >= 3.4.0
  • RedHat
    ,
    CentOS
    ,
    Fedora

Start using this module

Documentation

ajsmith/graphite — version 0.6.1 Jul 3rd 2019

puppet-graphite

Table of Contents

  1. Overview
  2. Setup - The basics of getting started with docker_systemd
  3. Usage
  4. Compatibility

Overview

This module configures the Graphite monitoring server using Docker and systemd.

Setup

What graphite affects

To configure Graphite components to run as normal systemd services, this module will generate systemd unit files in /etc/systemd/system/. Depending on how a host is configured, the following unit files may be generated:

  • /etc/systemd/system/docker-graphite-web.service
  • /etc/systemd/system/docker-graphite-carbon.service
  • /etc/systemd/system/docker-graphite-carbon-data.service
  • /etc/systemd/system/docker-graphite-mariadb.service
  • /etc/systemd/system/docker-graphite-mariadb-data.service

Any Docker containers will be stored using the Docker storage driver, no differently than how any other container may be stored on the host.

If any Docker images are pulled as a result of running a Docker container, those images will be stored using the Docker storage driver, no differently than how any other container may be stored on the host.

This module does not install and Docker for you. Plenty of ways to install Docker already exist, so this module does not add yet another way to do it.

Setup Requirements

Ensure that Docker is installed and running. On Red Hat systems, this can easily be accomplished using plain ol' Puppet resources, as so:

package { 'docker':
    ensure => latest
}
->
service { 'docker':
    ensure => true,
    enable => true
}

Beginning with graphite

As stated above, Graphite is installed as a set of Docker containers. Each container is configured as a systemd service to automatically handle starting and ordering of services at boot.

Usage

Here's an example which deploys a full set of Graphite containers including persistent storage using data volume containers:

graphite::docker::carbon::data_volume_container { 'graphite-carbon-data':
  image => 'ajsmith/graphite-carbon',
}
->
graphite::docker::carbon::container { 'graphite-carbon':
  image        => 'ajsmith/graphite-carbon',
  depends      => ['graphite-carbon-data'],
  volumes_from => ['graphite-carbon-data'],
  publish      => ['2003:2003/tcp', '2004:2004/tcp', '7002:7002/tcp'],
}

graphite::docker::mariadb::data_volume_container { 'graphite-mariadb-data':
  image => 'ajsmith/graphite-mariadb',
}
->
graphite::docker::mariadb::container { 'graphite-mariadb':
  image        => 'ajsmith/graphite-mariadb',
  depends      => ['graphite-mariadb-data'],
  volumes_from => ['graphite-mariadb-data'],
}

graphite::docker::web::container { 'graphite-web':
  image        => 'ajsmith/graphite-web',
  depends      => ['graphite-mariadb'],
  link         => ['graphite-mariadb:db'],
  publish      => ['8080:80/tcp'],
  volumes_from => ['graphite-carbon-data'],
}

Graphite::Docker::Mariadb::Container['graphite-mariadb']
->
Graphite::Docker::Web::Container['graphite-web']

Graphite::Docker::Carbon::Container['graphite-carbon']
->
Graphite::Docker::Web::Container['graphite-web']

Compatibility

This module is currently intended for Red Hat Linux systems capable of running Docker and systemd.

  • RHEL 7+
  • CentOS 7+
  • Fedora 20+

Release Notes

v0.6.1 2016/08/25

  • Re-release to fix a build issue in the last release.

v0.6.0 2016/08/17

  • Upgrade to ajsmith/docker_systemd v0.4.x.
  • Provide support for more Docker options:
    • log_driver
    • log_opt

v0.5.1 2016/08/05

  • Ugrade to ajsmith/docker_systemd v0.3.x.
  • Add the following options for Docker containers:
    • pull_image
    • volume
    • env
    • env_file
    • systemd_env_file
  • Set default Graphite Carbon image to ajsmith/graphite-carbon.
  • Set default Graphite Web image to ajsmith/graphite-web.
  • Set default Graphite MariaDB image to ajsmith/graphite-mariadb.
  • Add class to which provides Graphite Web syncdb script.
  • Update rspec tests.
  • Remove resources for building Graphite Docker images.
  • Remove legacy Graphite installation method.

v0.4.0 2016/02/09

  • Configure Carbon for uncapped MAX_CREATES_PER_MINUTE.
  • Configure Carbon to enable the UDP listener by default.
  • Update Graphite default settings from latest EPEL release.
  • Allow custom configuration to be added to Graphite Docker images.
  • Allow Docker build dir to be configured.
  • Allow Graphite Dockerfile revision to be configured.

v0.3.3 2016/01/11

  • Style fixes.

v0.3.2 2016/01/11

  • Initial release.