aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Eckert <fe@dev.tdt.de>2019-09-16 15:48:02 +0200
committerFlorian Eckert <fe@dev.tdt.de>2019-09-17 10:15:34 +0200
commit7d3cbda4afcffc7957badfcc6565f4dd554b4cad (patch)
tree6dc873f6881c946e12be90547be8bcb985fba25d
parent1205ab461b2f6ec8fcd1eefa8f3d8085a15ee089 (diff)
collectd: add network uci config
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
-rw-r--r--utils/collectd/files/collectd.init59
-rw-r--r--utils/collectd/files/collectd.uci14
-rw-r--r--utils/collectd/files/usr/share/collectd/plugin/network.json2
3 files changed, 75 insertions, 0 deletions
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</Page>\n" >> "$COLLECTD_CONF"
}
+process_network() {
+ local cfg="$1"
+
+ local TimeToLive Forward CacheFlush
+
+ printf "<Plugin network>\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 "</Plugin>\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 @@
+{
+}