From 6141aa2f23ac9991dad15f8490667cb957b7c7e6 Mon Sep 17 00:00:00 2001 From: Florian Eckert Date: Tue, 17 Sep 2019 10:08:01 +0200 Subject: [PATCH] collectd: add iptables uci config Signed-off-by: Florian Eckert --- utils/collectd/files/collectd.init | 43 +++++++++++++++++++ utils/collectd/files/collectd.uci | 9 ++++ .../usr/share/collectd/plugin/iptables.json | 2 + 3 files changed, 54 insertions(+) create mode 100644 utils/collectd/files/usr/share/collectd/plugin/iptables.json diff --git a/utils/collectd/files/collectd.init b/utils/collectd/files/collectd.init index 845d33975..89715d4c4 100644 --- a/utils/collectd/files/collectd.init +++ b/utils/collectd/files/collectd.init @@ -128,6 +128,45 @@ process_network_sections() { fi } +process_iptables() { + local cfg="$1" + + printf "\n" >> "$COLLECTD_CONF" + config_foreach process_iptables_sections iptables_match + printf "\n\n" >> "$COLLECTD_CONF" +} + +process_iptables_sections() { + local cfg="$1" + + local table chain + + config_get table "$cfg" table + [ -z "$table" ] && { + $LOG notice "No table option in config $cfg defined" + return 0 + } + + config_get chain "$cfg" chain + [ -z "$chain" ] && { + $LOG notice "No chain option in config $cfg defined" + return 0 + } + + config_get index "$cfg" index + [ -z "$index" ] && { + $LOG notice "No index option in config $cfg defined" + return 0 + } + + config_get name "$cfg" name + if [ -z "$name" ]; then + printf "\\tChain %s %s %s\n" "${table}" "${chain}" "${index}" >> "$COLLECTD_CONF" + else + printf "\\tChain %s %s %s \"%s\"\n" "${table}" "${chain}" "${index}" "${name}">> "$COLLECTD_CONF" + fi +} + CONFIG_LIST="" add_list_option() { local value="$1" @@ -231,6 +270,10 @@ process_plugins() { CONFIG_STRING="" process_network "$cfg" ;; + iptables) + CONFIG_STRING="" + process_iptables + ;; *) 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 5df40728b..a04cbc31a 100644 --- a/utils/collectd/files/collectd.uci +++ b/utils/collectd/files/collectd.uci @@ -81,6 +81,15 @@ config globals 'globals' # list Interface 'br-lan' # option IgnoreSelected '0' +#config plugin 'iptables' +# option enable '1' + +#config iptables_match +# option table 'nat' +# option chain 'zone_wan_postrouting' +# option index '1' +# option name 'WLAN-Clients traffic' + #config plugin 'irq' # option enable '0' # list Irq '2' diff --git a/utils/collectd/files/usr/share/collectd/plugin/iptables.json b/utils/collectd/files/usr/share/collectd/plugin/iptables.json new file mode 100644 index 000000000..2c63c0851 --- /dev/null +++ b/utils/collectd/files/usr/share/collectd/plugin/iptables.json @@ -0,0 +1,2 @@ +{ +}