diff options
author | Nick Hainke <vincent@systemli.org> | 2020-12-11 22:29:44 +0100 |
---|---|---|
committer | Hannu Nyman <hannu.nyman@iki.fi> | 2021-01-09 18:53:01 +0200 |
commit | c7756834b727137dbdee9abfb8bb7642f311d38f (patch) | |
tree | affc99c91236fc86a9a6590ae3c8dd3f5bea293f /applications/luci-app-statistics/htdocs/luci-static/resources | |
parent | a7dde1a2a59f6bc62df9e8e826cd1ea6707a5197 (diff) |
luci-app-statistics: add snmp6 collector
Add IPv6 statistics.
Signed-off-by: Nick Hainke <vincent@systemli.org>
Diffstat (limited to 'applications/luci-app-statistics/htdocs/luci-static/resources')
2 files changed, 129 insertions, 0 deletions
diff --git a/applications/luci-app-statistics/htdocs/luci-static/resources/statistics/rrdtool/definitions/snmp6.js b/applications/luci-app-statistics/htdocs/luci-static/resources/statistics/rrdtool/definitions/snmp6.js new file mode 100644 index 0000000000..27e47d2ac0 --- /dev/null +++ b/applications/luci-app-statistics/htdocs/luci-static/resources/statistics/rrdtool/definitions/snmp6.js @@ -0,0 +1,92 @@ +/* Licensed to the public under the Apache License 2.0. */ + +'use strict'; +'require baseclass'; + +return baseclass.extend({ + title: _('SNMP6'), + + rrdargs: function(graph, host, plugin, plugin_instance, dtype) { + + var traffic = { + title: "%H: IPv6 on %pi", + vlabel: "Bytes/s", + + data: { + sources: { + if_octets: [ "tx", "rx" ] + }, + + options: { + if_octets__tx: { + title: "Bytes (TX)", + total: true, + color: "00ff00" + }, + + if_octets__rx: { + title: "Bytes (RX)", + flip : true, + total: true, + color: "0000ff" + } + } + } + }; + + var mcast_traffic = { + title: "%H: IPv6 Multicast-Traffic on %pi", + vlabel: "Bytes/s", + + data: { + sources: { + if_octets_mcast: [ "tx", "rx" ] + }, + + options: { + if_octets_mcast__tx: { + title: "Bytes (TX)", + total: true, + color: "00ff00" + }, + + if_octets_mcast__rx: { + title: "Bytes (RX)", + flip : true, + total: true, + color: "0000ff" + } + } + } + }; + + + var bcast_traffic = { + title: "%H: IPv6 Broadcast-Traffic on %pi", + vlabel: "Bytes/s", + + data: { + sources: { + if_octets_bcast: [ "tx", "rx" ] + }, + + options: { + if_octets_bcast__tx: { + title: "Bytes (TX)", + total: true, + color: "00ff00" + }, + + if_octets_bcast__rx: { + title: "Bytes (RX)", + flip : true, + total: true, + color: "0000ff" + } + } + } + }; + + return [ traffic, mcast_traffic, bcast_traffic ] + } +}); diff --git a/applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/snmp6.js b/applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/snmp6.js new file mode 100644 index 0000000000..91f95376a1 --- /dev/null +++ b/applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/snmp6.js @@ -0,0 +1,37 @@ +'use strict'; +'require baseclass'; +'require form'; +'require tools.widgets as widgets'; + +return baseclass.extend({ + title: _('SNMP6 Plugin Configuration'), + description: _('The snmp6 plugin collects IPv6 statistics for selected interfaces.'), + + addFormOptions: function(s) { + var o; + + o = s.option(form.Flag, 'enable', _('Enable this plugin')); + o.default = '0'; + + o = s.option(widgets.DeviceSelect, 'Interfaces', _('Basic monitoring')); + o.multiple = true; + o.noaliases = true; + o.depends('enable', '1'); + + o = s.option(form.Flag, 'IgnoreSelected', _('Monitor all except specified')); + o.depends('enable', '1'); + }, + + configSummary: function(section) { + var basic = L.toArray(section.Interfaces), + count = basic.length, + invert = section.IgnoreSelected == '1'; + + if (invert && count == 0) + return _('Monitoring all interfaces'); + else if (invert) + return N_(count, 'Monitoring all but one interface', 'Monitoring all but %d interfaces').format(count); + else if (count) + return N_(count, 'Monitoring one interface', 'Monitoring %d interfaces').format(count); + } +}); |