config/puppet-manifests/src/modules/platform/manifests/collectd.pp

61 lines
1.3 KiB
Puppet

class platform::collectd::params (
$interval = undef,
$timeout = undef,
$read_threads = undef,
$write_threads = undef,
$write_queue_limit_high = undef,
$write_queue_limit_low = undef,
$server_addrs = [],
$server_port = undef,
$max_read_interval = undef,
# python plugin controls
$module_path = undef,
$plugins = [],
$mtce_notifier_port = undef,
$log_traces = undef,
$encoding = undef,
$collectd_d_dir = undef,
) {}
class platform::collectd
inherits ::platform::collectd::params {
file { "/etc/collectd.conf":
ensure => 'present',
replace => true,
content => template('platform/collectd.conf.erb'),
} -> # now start collectd
# ensure that collectd is running
service { 'collectd':
ensure => running,
enable => true,
provider => 'systemd'
} -> # now get pmond to monitor the process
# ensure pmon soft link for process monitoring
file { "/etc/pmon.d/collectd.conf":
ensure => 'link',
target => "/opt/collectd/extensions/config/collectd.conf.pmon",
owner => 'root',
group => 'root',
mode => '0600',
}
}
class platform::collectd::runtime {
include ::platform::collectd
}
# restart target
class platform::collectd::restart {
include ::platform::collectd
exec { "collectd-restart":
command => '/usr/local/sbin/pmon-restart collect'
}
}