Skip to content

Repository files navigation

puppet-statsd

Build StatusPuppet ForgePuppet Forge

Description

This Puppet module will install statsd on Debian or RedHat.

Installation

puppet module install --modulepath /path/to/puppet/modules jdowning-statsd

Requirements

This module assumes nodejs & npm is installed on the host, but will not do it for you. I recommend using puppet/nodejs to set this up.

Usage

class { 'statsd':
backends => [ './backends/graphite'],
graphiteHost => 'my.graphite.host',
flushInterval => 1000,
percentThreshold => [75, 90, 99],
}

Backends

You can install multiple backends. Supported backends include:

  • graphite
  • influxdb
  • librato
  • stackdriver
  • repeater

More information about the installation of each backend available in manifests/backends.pp.

Graphite

class { 'statsd':
backends => ['./backends/graphite'],
graphiteHost => 'localhost'
}

InfluxDB

class { 'statsd':
backends => ['statsd-influxdb-backend'],
influxdb_host => 'localhost'
}

Librato

class { 'statsd':
backends => ['statsd-librato-backend'],
librato_email => 'foo@bar.com',
librato_token => 'secret_token'
}

Stackdriver

class { 'statsd':
backends => ['stackdriver-statsd-backend'],
stackdriver_apiKey => 'apiKey'
}

Repeater

class { 'statsd':
backends => ['./backends/repeater'],
repeater => [{"host" => 'my.statsd.host', port => 8125}],
repeaterProtocol => 'udp4'
}

Custom Nodejs Environment

Use the $env_append parameter to add custom environment variables or run scripts in the /etc/default/statsd file. For example, you could enable Redhat's software collections and add a custom path like so:

class { 'statsd':
backends => ['./backends/graphite'],
graphiteHost => 'localhost',
env_append => [
'source /opt/rh/nodejs010/enable',
'PATH=/opt/my/path:$PATH',
],
}

Testing

bundle install
bundle exec librarian-puppet install
vagrant up

About

Puppet module to install and manage statsd with multiple backends

Resources

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages