Puppet Class: collectd::plugin::ceph

Defined in:
manifests/plugin/ceph.pp

Overview

Class: collectd::plugin::ceph

Class to manage ceph plugin for collectd

Parameters

ensure

ensure param for collectd::plugin type

daemons

array of ceph daemons to create config for (replace clustername, hostname as appropriate) example: [ ‘[clustername]-osd.1’, ‘[clustername]-osd.2’, ‘[clustername]-osd.3’, ‘[clustername]-mon..asok’ ]

longrunavglatency

If enabled, latency values(sum,count pairs) are

calculated as the long run average - average since the ceph daemon was
started = (sum / count). i When disabled, latency values are calculated as
the average since the last collection = (sum_now - sum_last) / (count_now -
count_last).

[convertspecialmetrictypes}

If enabled, special metrics (metrics that differ in type from similar
counters) are converted to the type of those similar counters.  This
currently only applies to filestore.journal_wr_bytes which is a counter for
OSD daemons. The ceph schema reports this metric type as a sum,count pair i
while similar counters are treated as derive types. When converted, the sum
is used as the counter value and is treated as a derive type. When
disabled, all metrics are treated as the types received from the ceph
schema.
manage_package

If enabled, manages separate package for plugin

package_name

to be used with manage_package; if manage_package is true, this gives the name of the package to manage. Defaults to ‘collectd-ceph’

Parameters:

  • daemons (Any)
  • ensure (Any) (defaults to: 'present')
  • longrunavglatency (Any) (defaults to: false)
  • convertspecialmetrictypes (Any) (defaults to: true)
  • manage_package (Any) (defaults to: undef)
  • package_name (Any) (defaults to: 'collectd-ceph')


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
# File 'manifests/plugin/ceph.pp', line 36

class collectd::plugin::ceph (
  $daemons,
  $ensure                    = 'present',
  $longrunavglatency         = false,
  $convertspecialmetrictypes = true,
  $manage_package            = undef,
  $package_name              = 'collectd-ceph'
) {

  include ::collectd

  validate_array($daemons)

  if $manage_package {
    package { 'collectd-ceph':
      ensure => $ensure,
      name   => $package_name,
    }
  }

  collectd::plugin { 'ceph':
    ensure  => $ensure,
    content => template('collectd/plugin/ceph.conf.erb'),
  }
}