add support for splash leases plugin
authorsoma <freifunk@somakoma.de>
Fri, 10 Oct 2014 08:52:41 +0000 (10:52 +0200)
committersoma <freifunk@somakoma.de>
Fri, 10 Oct 2014 08:52:41 +0000 (10:52 +0200)
applications/luci-statistics/luasrc/controller/luci_statistics/luci_statistics.lua
applications/luci-statistics/luasrc/model/cbi/luci_statistics/splash_leases.lua [new file with mode: 0644]
applications/luci-statistics/luasrc/statistics/rrdtool/definitions/splash_leases.lua [new file with mode: 0644]
applications/luci-statistics/root/etc/config/luci_statistics
applications/luci-statistics/root/usr/bin/stat-genconfig

index 1f20164..5729bb1 100644 (file)
@@ -54,6 +54,7 @@ function index()
                ping            = _("Ping"),
                processes       = _("Processes"),
                rrdtool         = _("RRDTool"),
                ping            = _("Ping"),
                processes       = _("Processes"),
                rrdtool         = _("RRDTool"),
+               splash_leases = _("Splash Leases"),
                tcpconns        = _("TCP Connections"),
                unixsock        = _("UnixSock"),
                uptime          = _("Uptime")
                tcpconns        = _("TCP Connections"),
                unixsock        = _("UnixSock"),
                uptime          = _("Uptime")
@@ -63,7 +64,7 @@ function index()
        local collectd_menu = {
                output  = { "csv", "network", "rrdtool", "unixsock" },
                system  = { "cpu", "df", "disk", "email", "exec", "irq", "load", "memory", "nut", "processes", "uptime" },
        local collectd_menu = {
                output  = { "csv", "network", "rrdtool", "unixsock" },
                system  = { "cpu", "df", "disk", "email", "exec", "irq", "load", "memory", "nut", "processes", "uptime" },
-               network = { "conntrack", "dns", "interface", "iptables", "netlink", "olsrd", "ping", "tcpconns", "iwinfo" }
+               network = { "conntrack", "dns", "interface", "iptables", "netlink", "olsrd", "ping", "splash_leases", "tcpconns", "iwinfo" }
        }
 
        -- create toplevel menu nodes
        }
 
        -- create toplevel menu nodes
diff --git a/applications/luci-statistics/luasrc/model/cbi/luci_statistics/splash_leases.lua b/applications/luci-statistics/luasrc/model/cbi/luci_statistics/splash_leases.lua
new file mode 100644 (file)
index 0000000..a15ed0e
--- /dev/null
@@ -0,0 +1,24 @@
+--[[
+
+Luci configuration model for statistics - collectd splash_leases plugin configuration
+(c) 2013 Freifunk Augsburg / Michael Wendland <michael@michiwend.com>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+]]--
+
+m = Map("luci_statistics",
+       translate("Splash Leases Plugin Configuration"),
+       translate("The splash leases plugin uses libuci to collect statistics about splash leases."))
+
+s = m:section( NamedSection, "collectd_splash_leases", "luci_statistics" )
+
+enable = s:option( Flag, "enable", translate("Enable this plugin") )
+enable.default = 1
+
+return m
+
diff --git a/applications/luci-statistics/luasrc/statistics/rrdtool/definitions/splash_leases.lua b/applications/luci-statistics/luasrc/statistics/rrdtool/definitions/splash_leases.lua
new file mode 100644 (file)
index 0000000..69f3c11
--- /dev/null
@@ -0,0 +1,37 @@
+--[[
+    
+Luci statistics - splash_leases plugin diagram definition
+(c) 2013 Freifunk Augsburg / Michael Wendland <michael@michiwend.com>
+                                     
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at             
+                       
+    http://www.apache.org/licenses/LICENSE-2.0
+                          
+
+]]--
+    
+module("luci.statistics.rrdtool.definitions.splash_leases", package.seeall)
+                                       
+function rrdargs( graph, plugin, plugin_instance, dtype )
+                             
+    return {
+        title = "%H: Splash Leases",
+        vlabel = "Active Clients",  
+        y_min = "0",          
+        number_format = "%5.1lf",
+        data = {         
+            sources = {
+                splash_leases = { "leased", "whitelisted", "blacklisted" }
+            },                                
+              
+            options = {
+                splash_leases__leased      = { color = "00CC00", title = "Leased",      overlay = false },
+                splash_leases__whitelisted = { color = "0000FF", title = "Whitelisted", overlay = false },
+                splash_leases__blacklisted = { color = "FF0000", title = "Blacklisted", overlay = false } 
+            }                                                 
+        }    
+    }
+
+end 
index 1bbe76c..e39db35 100644 (file)
@@ -98,6 +98,9 @@ config 'statistics' 'collectd_processes'
        option 'enable' '1'
        option 'Processes' 'uhttpd dnsmasq dropbear'
 
        option 'enable' '1'
        option 'Processes' 'uhttpd dnsmasq dropbear'
 
+config statistics 'collectd_splash_leases'              
+        option enable '1' 
+
 config 'statistics' 'collectd_tcpconns'
        option 'enable' '1'
        option 'ListeningPorts' '0'
 config 'statistics' 'collectd_tcpconns'
        option 'enable' '1'
        option 'ListeningPorts' '0'
index 46d23a6..86773b4 100755 (executable)
@@ -387,6 +387,12 @@ plugins = {
                { "RRATimespans" }
        },
 
                { "RRATimespans" }
        },
 
+        splash_leases = {
+          { },
+          { },
+          { }
+        },
+
        tcpconns = {
                { },
                { "ListeningPorts" },
        tcpconns = {
                { },
                { "ListeningPorts" },