From 7d3cbda4afcffc7957badfcc6565f4dd554b4cad Mon Sep 17 00:00:00 2001 From: Florian Eckert Date: Mon, 16 Sep 2019 15:48:02 +0200 Subject: [PATCH] collectd: add network uci config Signed-off-by: Florian Eckert --- utils/collectd/files/collectd.init | 59 +++++++++++++++++++ utils/collectd/files/collectd.uci | 14 +++++ .../usr/share/collectd/plugin/network.json | 2 + 3 files changed, 75 insertions(+) create mode 100644 utils/collectd/files/usr/share/collectd/plugin/network.json diff --git a/utils/collectd/files/collectd.init b/utils/collectd/files/collectd.init index a29920015..845d33975 100644 --- a/utils/collectd/files/collectd.init +++ b/utils/collectd/files/collectd.init @@ -73,6 +73,61 @@ process_curl_page() { printf "\\t\n" >> "$COLLECTD_CONF" } +process_network() { + local cfg="$1" + + local TimeToLive Forward CacheFlush + + printf "\n" >> "$COLLECTD_CONF" + config_foreach process_network_sections network_listen "listen" + config_foreach process_network_sections network_server "server" + + config_get TimeToLive "$cfg" TimeToLive + [ -z "$TimeToLive" ] || { + printf "\\tTimeToLive %s\n" "${TimeToLive}" >> "$COLLECTD_CONF" + } + + config_get CacheFlush "$cfg" CacheFlush + [ -z "$CacheFlush" ] || { + printf "\\tCacheFlush %s\n" "${CacheFlush}" >> "$COLLECTD_CONF" + } + + config_get_bool Forward "$cfg" Forward + if [ "$value" = "0" ]; then + printf "\\tForward false\n" >> "$COLLECTD_CONF" + else + printf "\\tForward true\n" >> "$COLLECTD_CONF" + fi + + printf "\n\n" >> "$COLLECTD_CONF" +} + +process_network_sections() { + local cfg="$1" + local section="$2" + + local host port output + + config_get host "$cfg" host + [ -z "$host" ] && { + $LOG notice "No host option in config $cfg defined" + return 0 + } + + if [ "$section" = "server" ]; then + output="Server \"$host\"" + else + output="Listen \"$host\"" + fi + + config_get port "$cfg" port + if [ -z "$port" ]; then + printf "\\t%s\n" "${output}" >> "$COLLECTD_CONF" + else + printf "\\t%s \"%s\"\n" "${output}" "${port}" >> "$COLLECTD_CONF" + fi +} + CONFIG_LIST="" add_list_option() { local value="$1" @@ -172,6 +227,10 @@ process_plugins() { CONFIG_STRING="" process_curl ;; + network) + CONFIG_STRING="" + process_network "$cfg" + ;; *) CONFIG_STRING="" process_generic "$cfg" "\\t" "/usr/share/collectd/plugin/$cfg.json" diff --git a/utils/collectd/files/collectd.uci b/utils/collectd/files/collectd.uci index 22cade912..5df40728b 100644 --- a/utils/collectd/files/collectd.uci +++ b/utils/collectd/files/collectd.uci @@ -108,6 +108,20 @@ config globals 'globals' # list VerboseInterface 'br-lan' # list QDisc 'br-lan' +#config plugin 'network' +# option enable '1' +# option TimeToLive '128' +# option Forward '1' +# option CacheFlush '86400' + +#config network_listen +# option host '0.0.0.0' +# option port '25826' + +#config network_server +# option host '1.1.1.1' +# option port '25826' + #config plugin 'nut' # option enable '0' # option UPS 'myupsname' diff --git a/utils/collectd/files/usr/share/collectd/plugin/network.json b/utils/collectd/files/usr/share/collectd/plugin/network.json new file mode 100644 index 000000000..2c63c0851 --- /dev/null +++ b/utils/collectd/files/usr/share/collectd/plugin/network.json @@ -0,0 +1,2 @@ +{ +}