diff options
author | Chizhong Jin <pjincz@gmail.com> | 2018-10-14 02:34:49 +0800 |
---|---|---|
committer | Chizhong Jin <pjincz@gmail.com> | 2018-10-14 02:34:49 +0800 |
commit | 2d1830422b90d3dadc07b2d1ee05b0dc8ef7c583 (patch) | |
tree | 63ebbb3e12c8e2d563fd3bcaa78dfacfd3ca751c | |
parent | 4f9e23f2b6cc42b8c534d32ec8669b1583c22cc0 (diff) |
pp-statistics: add support for cUrl
Add collectd-mod-curl plugin support. Which can do some complex track,
such as grab stock, but by now, only response time are supported.
Signed-off-by: Chizhong Jin <pjincz@gmail.com>
5 files changed, 68 insertions, 1 deletions
diff --git a/applications/luci-app-statistics/luasrc/controller/luci_statistics/luci_statistics.lua b/applications/luci-app-statistics/luasrc/controller/luci_statistics/luci_statistics.lua index ec26f02d0..b722341fc 100644 --- a/applications/luci-app-statistics/luasrc/controller/luci_statistics/luci_statistics.lua +++ b/applications/luci-app-statistics/luasrc/controller/luci_statistics/luci_statistics.lua @@ -29,6 +29,7 @@ function index() cpu = _("Processor"), cpufreq = _("CPU Frequency"), csv = _("CSV Output"), + curl = _("cUrl"), df = _("Disk Space Usage"), disk = _("Disk Usage"), dns = _("DNS"), @@ -63,7 +64,7 @@ function index() general = { "apcups", "contextswitch", "cpu", "cpufreq", "df", "disk", "email", "entropy", "exec", "irq", "load", "memory", "nut", "processes", "sensors", "thermal", "uptime" }, - network = { "conntrack", "dns", "interface", "iptables", + network = { "conntrack", "curl", "dns", "interface", "iptables", "netlink", "olsrd", "openvpn", "ping", "splash_leases", "tcpconns", "iwinfo" } } diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/curl.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/curl.lua new file mode 100644 index 000000000..606e1cb0d --- /dev/null +++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/curl.lua @@ -0,0 +1,24 @@ +-- Copyright 2018 Chizhong Jin <pjincz@gmail.com> +-- Licensed to the public under the BSD 3-clause license + +m = Map("luci_statistics", + translate("cUrl Plugin Configuration")) + +s = m:section(NamedSection, "collectd_curl") +s_enable = s:option(Flag, "enable", translate("Enable this plugin")) +s_enable.default = 0 + +page = m:section(TypedSection, "collectd_curl_page") +page.addremove = true +page.anonymous = true +page.template = "cbi/tblsection" +page.sortable = true + +page_enable = page:option(Flag, "enable", translate("Enable")) +page_enable.default = 1 + +page_name = page:option(Value, "name", translate("Name")) + +page_addr = page:option(Value, "url", translate("URL")) + +return m diff --git a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/curl.lua b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/curl.lua new file mode 100644 index 000000000..89a65a6b5 --- /dev/null +++ b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/curl.lua @@ -0,0 +1,22 @@ +-- Copyright 2018 Chizhong Jin <pjincz@gmail.com> +-- Licensed to the public under the BSD 3-clause license + +module("luci.statistics.rrdtool.definitions.curl", package.seeall) + +function rrdargs( graph, plugin, plugin_instance, dtype ) + return { + title = "%H: cUrl Response Time for #%pi", + y_min = "0", + alt_autoscale_max = true, + vlabel = "Response Time", + number_format = "%5.1lf%Ss", + data = { + types = { "response_time" }, + options = { + response_time = { + title = "" + } + } + } + } +end diff --git a/applications/luci-app-statistics/root/etc/config/luci_statistics b/applications/luci-app-statistics/root/etc/config/luci_statistics index 8cc918e3d..1e841fec8 100644 --- a/applications/luci-app-statistics/root/etc/config/luci_statistics +++ b/applications/luci-app-statistics/root/etc/config/luci_statistics @@ -66,6 +66,9 @@ config statistics 'collectd_cpu' config statistics 'collectd_cpufreq' option enable '0' +config statistics 'collectd_curl' + option enable '0' + config statistics 'collectd_df' option enable '0' option Devices '/dev/mtdblock/4' diff --git a/applications/luci-app-statistics/root/usr/bin/stat-genconfig b/applications/luci-app-statistics/root/usr/bin/stat-genconfig index 2bf63c1fe..7d1349b24 100755 --- a/applications/luci-app-statistics/root/usr/bin/stat-genconfig +++ b/applications/luci-app-statistics/root/usr/bin/stat-genconfig @@ -117,6 +117,21 @@ function config_exec( c ) return str end +function config_curl( c ) + local str = "" + + for s in pairs(sections) do + if sections[s][".type"] == "collectd_curl_page" then + str = str .. "\t<Page \"" .. sections[s].name .. "\">\n" .. + "\t\tURL \"" .. sections[s].url .. "\"\n" .. + "\t\tMeasureResponseTime true\n" .. + "\t</Page>\n" + end + end + + return str +end + function config_iptables( c ) local str = "" @@ -297,6 +312,8 @@ plugins = { { } }, + curl = config_curl, + df = { { }, { "IgnoreSelected" }, |