luci-app-statistics: add dhcpleases
authorNick Hainke <vincent@systemli.org>
Sat, 12 Dec 2020 16:29:54 +0000 (18:29 +0200)
committerHannu Nyman <hannu.nyman@iki.fi>
Sat, 12 Dec 2020 16:29:54 +0000 (18:29 +0200)
Add the dhcpleases plugin:
https://github.com/openwrt/packages/pull/14204

Added-Frontend-by: Hannu Nyman <hannu.nyman@iki.fi>
Signed-off-by: Nick Hainke <vincent@systemli.org>
[Minor changes to graph: alt_autoscale, precision, label]
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
applications/luci-app-statistics/htdocs/luci-static/resources/statistics/rrdtool/definitions/dhcpleases.js [new file with mode: 0644]
applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/dhcpleases.js [new file with mode: 0644]
applications/luci-app-statistics/root/etc/config/luci_statistics
applications/luci-app-statistics/root/usr/share/luci/statistics/plugins/dhcpleases.json [new file with mode: 0644]

diff --git a/applications/luci-app-statistics/htdocs/luci-static/resources/statistics/rrdtool/definitions/dhcpleases.js b/applications/luci-app-statistics/htdocs/luci-static/resources/statistics/rrdtool/definitions/dhcpleases.js
new file mode 100644 (file)
index 0000000..b54a0af
--- /dev/null
@@ -0,0 +1,25 @@
+/* Licensed to the public under the Apache License 2.0. */
+
+'use strict';
+'require baseclass';
+
+return baseclass.extend({
+       title: _('DHCP Leases'),
+
+       rrdargs: function(graph, host, plugin, plugin_instance, dtype) {
+               return {
+                       title: "%H: DHCP leases",
+                       alt_autoscale_max: true,
+                       vlabel: "Leases given",
+                       number_format: "%3.0lf",
+                       data: {
+                               types: [ "count" ],
+                               options: {
+                                       count: {
+                                               title: "Leases"
+                                       }
+                               }
+                       }
+               };
+       }
+});
diff --git a/applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/dhcpleases.js b/applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/dhcpleases.js
new file mode 100644 (file)
index 0000000..df185f7
--- /dev/null
@@ -0,0 +1,21 @@
+'use strict';
+'require baseclass';
+'require form';
+
+return baseclass.extend({
+       title: _('DHCP Leases Plugin Configuration'),
+       description: _('The dhcpleases plugin collects information about assigned DHCP leases.'),
+
+       addFormOptions: function(s) {
+               var o;
+
+               o = s.option(form.Flag, 'enable', _('Enable this plugin'));
+
+               o = s.option(form.Value, 'Path', _('DHCP leases file'));
+               o.default = '/tmp/dhcp.leases';
+       },
+
+       configSummary: function(section) {
+               return _('Monitoring DHCP leases enabled');
+       }
+});
index 5a2b94b675ee618c045805e0d94b62a4eaa84792..4c50867c0f0cde2574adeb3e819d1f0b37f6dc2e 100644 (file)
@@ -86,6 +86,10 @@ config statistics 'collectd_df'
        option IgnoreSelected '0'
        option ValuesPercentage '0'
 
+config statistics 'collectd_dhcpleases'
+       option enable '0'
+       option Path '/tmp/dhcp.leases'
+
 config statistics 'collectd_disk'
        option enable '0'
        option Disks 'hda1 hdb'
diff --git a/applications/luci-app-statistics/root/usr/share/luci/statistics/plugins/dhcpleases.json b/applications/luci-app-statistics/root/usr/share/luci/statistics/plugins/dhcpleases.json
new file mode 100644 (file)
index 0000000..e6d5450
--- /dev/null
@@ -0,0 +1,9 @@
+{
+       "title": "Dhcpleases",
+       "category": "network",
+       "legend": [
+               [],
+               [],
+               ["Path"]
+       ]
+}