collectd: add curl uci config
authorFlorian Eckert <fe@dev.tdt.de>
Mon, 16 Sep 2019 12:55:17 +0000 (14:55 +0200)
committerFlorian Eckert <fe@dev.tdt.de>
Tue, 17 Sep 2019 08:15:26 +0000 (10:15 +0200)
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
utils/collectd/files/collectd.init
utils/collectd/files/collectd.uci
utils/collectd/files/usr/share/collectd/plugin/curl.json [new file with mode: 0644]

index a9182380f48348f7fdc860d588394b0df1c7f2de..a299200155aabcea9283fa3879ed2e321fdcfb79 100644 (file)
@@ -44,6 +44,35 @@ process_exec_sections() {
        fi
 }
 
+process_curl() {
+       printf "<Plugin curl>\n" >> "$COLLECTD_CONF"
+       config_foreach process_curl_page curl_page
+       printf "</Plugin>\n\n" >> "$COLLECTD_CONF"
+}
+
+process_curl_page() {
+       local cfg="$1"
+
+       local name url
+
+       config_get name "$cfg" name
+       [ -z "$name" ] && {
+               $LOG notice "No name option in config $cfg defined"
+               return 0
+       }
+
+       config_get url "$cfg" url
+       [ -z "$url" ] && {
+               $LOG notice "No URL option in config $cfg defined"
+               return 0
+       }
+
+       printf "\\t<Page \"%s\">\n" "${name}" >> "$COLLECTD_CONF"
+       printf "\\t\\tURL \"%s\"\n" "${url}" >> "$COLLECTD_CONF"
+       printf "\\t\\tMeasureResponseTime true\n" >> "$COLLECTD_CONF"
+       printf "\\t</Page>\n" >> "$COLLECTD_CONF"
+}
+
 CONFIG_LIST=""
 add_list_option() {
        local value="$1"
@@ -139,6 +168,10 @@ process_plugins() {
                        CONFIG_STRING=""
                        process_exec
                        ;;
+               curl)
+                       CONFIG_STRING=""
+                       process_curl
+                       ;;
                *)
                        CONFIG_STRING=""
                        process_generic "$cfg" "\\t" "/usr/share/collectd/plugin/$cfg.json"
index fa472c98514879f6ce0407fc80802fa8511eb06b..22cade912138ccf9f6481f318aa1b75a3419db65 100644 (file)
@@ -30,6 +30,13 @@ config globals 'globals'
 #      option StoreRates '0'
 #      option DataDir '/tmp'
 
+#config plugin 'curl'
+#      option enable '0'
+
+#config curl_page
+#      option name 'test'
+#      option url 'http://finance.google.com/finance?q=NYSE%3AAMD%22'
+
 #config plugin 'df'
 #      option enable '0'
 #      list Device '/dev/mtdblock/4'
diff --git a/utils/collectd/files/usr/share/collectd/plugin/curl.json b/utils/collectd/files/usr/share/collectd/plugin/curl.json
new file mode 100644 (file)
index 0000000..2c63c08
--- /dev/null
@@ -0,0 +1,2 @@
+{
+}