Puppet Class: statsd

Inherits:
statsd::params
Defined in:
manifests/init.pp

Overview

Parameters:

  • graphiteserver (Any) (defaults to: 'localhost')
  • graphiteport (Any) (defaults to: '2003')
  • backends (Any) (defaults to: [ 'graphite' ])
  • address (Any) (defaults to: '0.0.0.0')
  • listenport (Any) (defaults to: '8125')
  • flushinterval (Any) (defaults to: '10000')
  • percentthreshold (Any) (defaults to: ['90'])
  • ensure (Any) (defaults to: 'present')
  • provider (Any) (defaults to: 'npm')
  • config (Any) (defaults to: { })


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# File 'manifests/init.pp', line 1

class statsd(
  $graphiteserver   = 'localhost',
  $graphiteport     = '2003',
  $backends         = [ 'graphite' ],
  $address          = '0.0.0.0',
  $listenport       = '8125',
  $flushinterval    = '10000',
  $percentthreshold = ['90'],
  $ensure           = 'present',
  $provider         = 'npm',
  $config           = { }) 
inherits statsd::params {

  require nodejs

  package { 'statsd':
    ensure   => $ensure,
    provider => $provider,
    notify  => Service['statsd'],
  }

  $configfile  = '/etc/statsd/localConfig.js'
  $logfile     = '/var/log/statsd/statsd.log'
  $statsjs     = $statsd::params::statsjs
  $init_script = $statsd::params::init_script

  file { '/etc/statsd':
    ensure => directory,
    owner   => 'root',
    group   => 'root',
    mode    => '0755',
  } ->
  file { $configfile:
    content => template('statsd/localConfig.js.erb'),
    owner   => 'root',
    group   => 'root',
    mode    => '0444',
    notify  => Service['statsd'],
  }
  file { '/etc/init.d/statsd':
    source  => $init_script,
    owner   => 'root',
    group   => 'root',
    mode    => '0755',
    notify  => Service['statsd'],
  }
  file {  '/etc/default/statsd':
    content => template('statsd/statsd-defaults.erb'),
    owner   => 'root',
    group   => 'root',
    mode    => '0755',
    notify  => Service['statsd'],
  }
  file { '/var/log/statsd':
    ensure => directory,
    owner  => 'root',
    group  => 'root',
    mode   => '0770',
  }
  file { '/usr/local/sbin/statsd':
    source  => 'puppet:///modules/statsd/statsd-wrapper',
    owner   => 'root',
    group   => 'root',
    mode    => '0755',
    notify  => Service['statsd'],
  }

  service { 'statsd':
    ensure    => running,
    enable    => true,
    hasstatus => true,
    pattern   => 'node .*stats.js',
    require   => File['/var/log/statsd'],
  }
}