luci-app-statistics: add snmp6 collector
Add IPv6 statistics. Signed-off-by: Nick Hainke <vincent@systemli.org>
This commit is contained in:
parent
a7dde1a2a5
commit
c7756834b7
4 changed files with 143 additions and 0 deletions
|
@ -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 ]
|
||||||
|
}
|
||||||
|
});
|
|
@ -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);
|
||||||
|
}
|
||||||
|
});
|
|
@ -188,6 +188,11 @@ config statistics 'collectd_processes'
|
||||||
config statistics 'collectd_sensors'
|
config statistics 'collectd_sensors'
|
||||||
option enable '0'
|
option enable '0'
|
||||||
|
|
||||||
|
config statistics 'collectd_snmp6'
|
||||||
|
option enable '0'
|
||||||
|
option Interfaces 'br-lan'
|
||||||
|
option IgnoreSelected '0'
|
||||||
|
|
||||||
config statistics 'collectd_splash_leases'
|
config statistics 'collectd_splash_leases'
|
||||||
option enable '0'
|
option enable '0'
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
"title": "Snmp6",
|
||||||
|
"category": "network",
|
||||||
|
"legend": [
|
||||||
|
[],
|
||||||
|
["IgnoreSelected"],
|
||||||
|
["Interfaces"]
|
||||||
|
]
|
||||||
|
}
|
Loading…
Reference in a new issue