Puppet Class: telegraf

Inherits:
::telegraf::params
Inherited by:
telegraf::config
Defined in:
manifests/init.pp

Overview

Class: telegraf

A Puppet module for installing InfluxData’s Telegraf

Parameters

ensure

String. State of the telegraf package. You can also specify a particular version to install.

config_file

String. Path to the configuration file.

hostname

String. Override default hostname used to identify this agent.

interval

String. Default data collection interval for all inputs.

round_interval

Boolean. Rounds collection interval to ‘interval’

metric_buffer_limit

Integer. Cache metric_buffer_limit metrics for each output, and flush this buffer on a successful write.

flush_buffer_when_full

Boolean. Flush buffer whenever full, regardless of flush_interval

collection_jitter

String. Sleep for a random time within jitter before collecting.

flush_interval

String. Default flushing interval for all outputs.

flush_jitter

String. Jitter the flush interval by an amount.

debug

Boolean. Run telegraf in debug mode.

quiet

Boolean. Run telegraf in quiet mode.

outputs

Hash. Specify output plugins and their options.

inputs

Hash. Specify input plugins and their options.

global_tags

Hash. Global tags as a key-value pair.

manage_service

Boolean. Whether to manage the telegraf service or not.

manage_repo

Boolean. Whether or not to manage InfluxData’s repo.

Parameters:

  • ensure (Any) (defaults to: $telegraf::params::ensure)
  • config_file (Any) (defaults to: $telegraf::params::config_file)
  • hostname (Any) (defaults to: $telegraf::params::hostname)
  • interval (Any) (defaults to: $telegraf::params::interval)
  • round_interval (Any) (defaults to: $telegraf::params::round_interval)
  • metric_buffer_limit (Any) (defaults to: $telegraf::params::metric_buffer_limit)
  • flush_buffer_when_full (Any) (defaults to: $telegraf::params::flush_buffer_when_full)
  • collection_jitter (Any) (defaults to: $telegraf::params::collection_jitter)
  • flush_interval (Any) (defaults to: $telegraf::params::flush_interval)
  • flush_jitter (Any) (defaults to: $telegraf::params::flush_jitter)
  • debug (Any) (defaults to: $telegraf::params::debug)
  • quiet (Any) (defaults to: $telegraf::params::quiet)
  • inputs (Any) (defaults to: $telegraf::params::inputs)
  • outputs (Any) (defaults to: $telegraf::params::outputs)
  • global_tags (Any) (defaults to: $telegraf::params::global_tags)
  • manage_service (Any) (defaults to: $telegraf::params::manage_service)
  • manage_repo (Any) (defaults to: $telegraf::params::manage_repo)


60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
# File 'manifests/init.pp', line 60

class telegraf (
  $ensure                 = $telegraf::params::ensure,
  $config_file            = $telegraf::params::config_file,
  $hostname               = $telegraf::params::hostname,
  $interval               = $telegraf::params::interval,
  $round_interval         = $telegraf::params::round_interval,
  $metric_buffer_limit    = $telegraf::params::metric_buffer_limit,
  $flush_buffer_when_full = $telegraf::params::flush_buffer_when_full,
  $collection_jitter      = $telegraf::params::collection_jitter,
  $flush_interval         = $telegraf::params::flush_interval,
  $flush_jitter           = $telegraf::params::flush_jitter,
  $debug                  = $telegraf::params::debug,
  $quiet                  = $telegraf::params::quiet,
  $inputs                 = $telegraf::params::inputs,
  $outputs                = $telegraf::params::outputs,
  $global_tags            = $telegraf::params::global_tags,
  $manage_service         = $telegraf::params::manage_service,
  $manage_repo            = $telegraf::params::manage_repo,
) inherits ::telegraf::params
{

  validate_string($ensure)
  validate_string($config_file)
  validate_string($hostname)
  validate_string($interval)
  validate_bool($round_interval)
  validate_integer($metric_buffer_limit)
  validate_bool($flush_buffer_when_full)
  validate_string($collection_jitter)
  validate_string($flush_interval)
  validate_string($flush_jitter)
  validate_bool($debug)
  validate_bool($quiet)
  validate_hash($inputs)
  validate_hash($outputs)
  validate_hash($global_tags)
  validate_bool($manage_service)
  validate_bool($manage_repo)

  contain ::telegraf::install
  contain ::telegraf::config
  contain ::telegraf::service

  Class['::telegraf::install'] ->
  Class['::telegraf::config'] ->
  Class['::telegraf::service']
}