Merge "Collectd network configuration"

This commit is contained in:
Zuul 2021-07-29 21:10:58 +00:00 committed by Gerrit Code Review
commit 15e648ee57
3 changed files with 30 additions and 6 deletions

View File

@ -32,8 +32,7 @@ platform::collectd::params::write_threads: 1
platform::collectd::params::max_read_interval: 86400 platform::collectd::params::max_read_interval: 86400
platform::collectd::params::write_queue_limit_high: 1000000 platform::collectd::params::write_queue_limit_high: 1000000
platform::collectd::params::write_queue_limit_low: 800000 platform::collectd::params::write_queue_limit_low: 800000
platform::collectd::params::server_addrs: [] platform::collectd::params::default_server_port: 25826
platform::collectd::params::server_port: 25826
platform::collectd::params::collectd_d_dir: '/etc/collectd.d/starlingx' platform::collectd::params::collectd_d_dir: '/etc/collectd.d/starlingx'
# collectd: module named plugins # collectd: module named plugins

View File

@ -5,10 +5,11 @@ class platform::collectd::params (
$write_threads = undef, $write_threads = undef,
$write_queue_limit_high = undef, $write_queue_limit_high = undef,
$write_queue_limit_low = undef, $write_queue_limit_low = undef,
$server_addrs = [],
$server_port = undef,
$max_read_interval = undef, $max_read_interval = undef,
$network_servers = [],
$default_server_port = undef,
# python plugin controls # python plugin controls
$module_path = undef, $module_path = undef,
$plugins = [], $plugins = [],
@ -22,6 +23,27 @@ class platform::collectd::params (
class platform::collectd class platform::collectd
inherits ::platform::collectd::params { inherits ::platform::collectd::params {
#Get port or set default one
$server_ports = $network_servers.map |$elem| {
if(split($elem, ':').size() > 2) {
if(']:' in $elem) {
split($elem, ':')[-1]
} else {
$default_server_port
}
} else {
if(':' in $elem) {
split($elem, ':')[-1]
} else {
$default_server_port
}
}
}
#Get address
$server_ips = $network_servers.map | $i, $elem| {
$address = regsubst($elem.delete(":${server_ports[$i]}"),'[\[\]]','','G')
}
file { '/etc/collectd.conf': file { '/etc/collectd.conf':
ensure => 'present', ensure => 'present',
replace => true, replace => true,

View File

@ -81,12 +81,15 @@ WriteQueueLimitLow <%= @write_queue_limit_low %>
# LogLevel info # LogLevel info
#</Plugin> #</Plugin>
<% if @server_ips != [] -%>
# Have collectd send to these servers on server_port # Have collectd send to these servers on server_port
<Plugin network> <Plugin network>
<%- @server_addrs.each do |server_addr| -%> <%- @server_ips.each_with_index do |ip, index| -%>
Server "<%= server_addr %>" "<%= @server_port %>" Server "<%= ip %>" "<%= @server_ports[index] %>"
<%- end -%> <%- end -%>
</Plugin> </Plugin>
<% end -%>
LoadPlugin python LoadPlugin python
<Plugin python> <Plugin python>