Collectd network configuration
Process values from network_servers and apply these fields to collectd network plugin configuration. For IPv6 brackets around IP must be removed to make it work in Collectd. For every configured host, an entry with the following format will be added: Server "HostN" "PortN" Story: 2009018 Task: 42875 Depends-On: https://review.opendev.org/c/starlingx/config/+/799470 Signed-off-by: Fernando Theirs <Fernando.Theirs@windriver.com> Change-Id: I248d0ddab58fce09d54b7befa9d6ac212d071487
This commit is contained in:
parent
571e0799a9
commit
5d20ad632c
|
@ -32,8 +32,7 @@ platform::collectd::params::write_threads: 1
|
|||
platform::collectd::params::max_read_interval: 86400
|
||||
platform::collectd::params::write_queue_limit_high: 1000000
|
||||
platform::collectd::params::write_queue_limit_low: 800000
|
||||
platform::collectd::params::server_addrs: []
|
||||
platform::collectd::params::server_port: 25826
|
||||
platform::collectd::params::default_server_port: 25826
|
||||
platform::collectd::params::collectd_d_dir: '/etc/collectd.d/starlingx'
|
||||
|
||||
# collectd: module named plugins
|
||||
|
|
|
@ -5,10 +5,11 @@ class platform::collectd::params (
|
|||
$write_threads = undef,
|
||||
$write_queue_limit_high = undef,
|
||||
$write_queue_limit_low = undef,
|
||||
$server_addrs = [],
|
||||
$server_port = undef,
|
||||
$max_read_interval = undef,
|
||||
|
||||
$network_servers = [],
|
||||
$default_server_port = undef,
|
||||
|
||||
# python plugin controls
|
||||
$module_path = undef,
|
||||
$plugins = [],
|
||||
|
@ -22,6 +23,27 @@ class platform::collectd::params (
|
|||
class platform::collectd
|
||||
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':
|
||||
ensure => 'present',
|
||||
replace => true,
|
||||
|
|
|
@ -81,12 +81,15 @@ WriteQueueLimitLow <%= @write_queue_limit_low %>
|
|||
# LogLevel info
|
||||
#</Plugin>
|
||||
|
||||
<% if @server_ips != [] -%>
|
||||
# Have collectd send to these servers on server_port
|
||||
<Plugin network>
|
||||
<%- @server_addrs.each do |server_addr| -%>
|
||||
Server "<%= server_addr %>" "<%= @server_port %>"
|
||||
<%- @server_ips.each_with_index do |ip, index| -%>
|
||||
Server "<%= ip %>" "<%= @server_ports[index] %>"
|
||||
<%- end -%>
|
||||
</Plugin>
|
||||
<% end -%>
|
||||
|
||||
|
||||
LoadPlugin python
|
||||
<Plugin python>
|
||||
|
|
Loading…
Reference in New Issue