Puppet Class: puppet_metrics_dashboard::telegraf::config
- Defined in:
- manifests/telegraf/config.pp
Summary
Configures TelegrafOverview
Configures settings in telegraf.conf via ini_setting resources. Manages all module-specific settings in ‘telegraf.d/puppet_metrics_dashboard.conf`.
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 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
# File 'manifests/telegraf/config.pp', line 8
class puppet_metrics_dashboard::telegraf::config {
if $puppet_metrics_dashboard::configure_telegraf {
$_puppetdb_metrics = $puppet_metrics_dashboard::puppetdb_metrics
class { 'telegraf':
interval => $puppet_metrics_dashboard::telegraf_agent_interval,
logfile => '/var/log/telegraf/telegraf.log',
hostname => '',
manage_repo => false,
manage_service => false,
outputs => {
'influxdb' => [
{
'urls' => $puppet_metrics_dashboard::influxdb_urls,
'database' => $puppet_metrics_dashboard::telegraf_db_name,
'write_consistency' => 'any',
'timeout' => '5s',
},
],
},
}
file {'/etc/telegraf/telegraf.d/puppet_metrics_dashboard.conf':
ensure => absent,
}
# Transform the host lists into arrays of "hostname:port", using a
# service's default port if no alternate was specified.
$_master_list = $puppet_metrics_dashboard::master_list.map |$entry| {
$entry ? {
Tuple[String, Integer] => { 'host' => $entry[0], 'port' => $entry[1] },
String => { 'host' => $entry, 'port' => 8140 },
}
}
$_puppetdb_list = $puppet_metrics_dashboard::puppetdb_list.map |$entry| {
$entry ? {
Tuple[String, Integer] => { 'host' => $entry[0], 'port' => $entry[1] },
String => { 'host' => $entry, 'port' => 8081 },
}
}
$_postgres_list = $puppet_metrics_dashboard::postgres_host_list.map |$entry| {
$entry ? {
Tuple[String, Integer] => { 'host' => $entry[0], 'port' => $entry[1] },
String => { 'host' => $entry, 'port' => 5432 },
}
}
$_master_list.each |$master| {
puppet_metrics_dashboard::profile::compiler{ $master['host']:
compiler => $master['host'],
port => $master['port'],
timeout => $puppet_metrics_dashboard::http_response_timeout,
interval => $puppet_metrics_dashboard::telegraf_agent_interval,
}
}
$_puppetdb_list.each |$puppetdb| {
$enable_client_cert = $puppetdb['host'] ? {
'localhost' => false,
default => true,
}
puppet_metrics_dashboard::profile::puppetdb{ $puppetdb['host']:
puppetdb_host => $puppetdb['host'],
port => $puppetdb['port'],
timeout => $puppet_metrics_dashboard::http_response_timeout,
interval => $puppet_metrics_dashboard::telegraf_agent_interval,
enable_client_cert => $enable_client_cert,
}
}
$_postgres_list.each |$postgres| {
puppet_metrics_dashboard::profile::master::postgres{ $postgres['host']:
postgres_host => $postgres['host'],
port => $postgres['port'],
query_interval => $puppet_metrics_dashboard::pg_query_interval,
}
}
if $puppet_metrics_dashboard::tidy_telegraf_configs {
tidy { 'clean /etc/telegraf/telegraf.d':
path => '/etc/telegraf/telegraf.d',
recurse => true,
}
}
}
}
|