* ffluci/statistics: port statistics to new controller api, add mysel to NOTICE
authorJo-Philipp Wich <redacted>
Fri, 23 May 2008 19:23:06 +0000 (19:23 +0000)
committerJo-Philipp Wich <redacted>
Fri, 23 May 2008 19:23:06 +0000 (19:23 +0000)
26 files changed:
NOTICE
applications/luci-statistics/src/controller/admin/statistics.lua [deleted file]
applications/luci-statistics/src/controller/luci_statistics/luci_statistics.lua [new file with mode: 0644]
applications/luci-statistics/src/controller/public/statistics.lua [deleted file]
applications/luci-statistics/src/model/cbi/luci_statistics/collectd.lua [moved from applications/luci-statistics/src/model/cbi/admin_statistics/index.lua with 100% similarity]
applications/luci-statistics/src/model/cbi/luci_statistics/csv.lua [moved from applications/luci-statistics/src/model/cbi/admin_statistics/csv.lua with 100% similarity]
applications/luci-statistics/src/model/cbi/luci_statistics/df.lua [moved from applications/luci-statistics/src/model/cbi/admin_statistics/df.lua with 100% similarity]
applications/luci-statistics/src/model/cbi/luci_statistics/disk.lua [moved from applications/luci-statistics/src/model/cbi/admin_statistics/disk.lua with 100% similarity]
applications/luci-statistics/src/model/cbi/luci_statistics/dns.lua [moved from applications/luci-statistics/src/model/cbi/admin_statistics/dns.lua with 100% similarity]
applications/luci-statistics/src/model/cbi/luci_statistics/email.lua [moved from applications/luci-statistics/src/model/cbi/admin_statistics/email.lua with 100% similarity]
applications/luci-statistics/src/model/cbi/luci_statistics/exec.lua [moved from applications/luci-statistics/src/model/cbi/admin_statistics/exec.lua with 100% similarity]
applications/luci-statistics/src/model/cbi/luci_statistics/interface.lua [moved from applications/luci-statistics/src/model/cbi/admin_statistics/interface.lua with 100% similarity]
applications/luci-statistics/src/model/cbi/luci_statistics/iptables.lua [moved from applications/luci-statistics/src/model/cbi/admin_statistics/iptables.lua with 100% similarity]
applications/luci-statistics/src/model/cbi/luci_statistics/irq.lua [moved from applications/luci-statistics/src/model/cbi/admin_statistics/irq.lua with 100% similarity]
applications/luci-statistics/src/model/cbi/luci_statistics/netlink.lua [moved from applications/luci-statistics/src/model/cbi/admin_statistics/netlink.lua with 100% similarity]
applications/luci-statistics/src/model/cbi/luci_statistics/network.lua [moved from applications/luci-statistics/src/model/cbi/admin_statistics/network.lua with 100% similarity]
applications/luci-statistics/src/model/cbi/luci_statistics/ping.lua [moved from applications/luci-statistics/src/model/cbi/admin_statistics/ping.lua with 100% similarity]
applications/luci-statistics/src/model/cbi/luci_statistics/processes.lua [moved from applications/luci-statistics/src/model/cbi/admin_statistics/processes.lua with 100% similarity]
applications/luci-statistics/src/model/cbi/luci_statistics/rrdtool.lua [moved from applications/luci-statistics/src/model/cbi/admin_statistics/rrdtool.lua with 100% similarity]
applications/luci-statistics/src/model/cbi/luci_statistics/tcpconns.lua [moved from applications/luci-statistics/src/model/cbi/admin_statistics/tcpconns.lua with 100% similarity]
applications/luci-statistics/src/model/cbi/luci_statistics/unixsock.lua [moved from applications/luci-statistics/src/model/cbi/admin_statistics/unixsock.lua with 100% similarity]
applications/luci-statistics/src/model/menu/70luci-statistics.lua [deleted file]
applications/luci-statistics/src/view/admin_statistics/index.htm [new file with mode: 0644]
applications/luci-statistics/src/view/admin_statistics/networkplugins.htm [new file with mode: 0644]
applications/luci-statistics/src/view/admin_statistics/outputplugins.htm [new file with mode: 0644]
applications/luci-statistics/src/view/admin_statistics/systemplugins.htm [new file with mode: 0644]

diff --git a/NOTICE b/NOTICE
index df8a5aebfde7c0e9d1ba8d1512f0fff73c3045d5..dea5e6742508bc6978b0138dc311ad17861524dc 100644 (file)
--- a/NOTICE
+++ b/NOTICE
@@ -2,4 +2,7 @@ FFLuCI - Freifunk Lua Configuration Interface
 Copyright 2008 Steven Barth <steven@midlink.org>
 Licensed under the Apache License, Version 2.0.
 
--- Contributors: please add your own notice here
\ No newline at end of file
+-- Contributors: please add your own notice here
+Luci-Statistics - Statistics for FFLuCI
+Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net>
+Licensed under the Apache License, Version 2.0.
diff --git a/applications/luci-statistics/src/controller/admin/statistics.lua b/applications/luci-statistics/src/controller/admin/statistics.lua
deleted file mode 100644 (file)
index 3318f70..0000000
+++ /dev/null
@@ -1 +0,0 @@
-module("ffluci.controller.admin.statistics", package.seeall)
diff --git a/applications/luci-statistics/src/controller/luci_statistics/luci_statistics.lua b/applications/luci-statistics/src/controller/luci_statistics/luci_statistics.lua
new file mode 100644 (file)
index 0000000..ad914d8
--- /dev/null
@@ -0,0 +1,88 @@
+--[[
+
+    Luci controller for statistics
+    Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net>
+    
+    $Id$
+
+]]--
+
+module("ffluci.controller.luci_statistics.luci_statistics", package.seeall)
+
+fs  = require("ffluci.fs")
+tpl = require("ffluci.template")
+
+function _entry( path, ... )
+       if fs.isfile( "/usr/lib/collectd/" .. path[4] .. ".so" ) then
+               entry( path, ... )
+       end
+end
+
+
+function index()
+       entry({"admin", "statistics"},                          statistics_index,                       "Statistiken",          80)
+       entry({"admin", "statistics", "collectd"},              cbi("luci_statistics/collectd"),        "Collectd",             10)
+
+       entry({"admin", "statistics", "output"},                statistics_outputplugins,               "Ausgabeplugins",       20)
+       _entry({"admin", "statistics", "output", "rrdtool"},    cbi("luci_statistics/rrdtool"),         "RRDTool",              10)
+       _entry({"admin", "statistics", "output", "network"},    cbi("luci_statistics/network"),         "Netzwerk",             20)
+       _entry({"admin", "statistics", "output", "unixsock"},   cbi("luci_statistics/unixsock"),        "Unix Socket",          30)
+       _entry({"admin", "statistics", "output", "csv"},        cbi("luci_statistics/csv"),             "CSV",                  40)
+
+       entry({"admin", "statistics", "system"},                statistics_systemplugins,               "Systemplugins",        30)
+       _entry({"admin", "statistics", "system", "exec"},       cbi("luci_statistics/exec"),            "Exec",                 10)
+       _entry({"admin", "statistics", "system", "email"},      cbi("luci_statistics/email"),           "E-Mail",               20)
+       _entry({"admin", "statistics", "system", "df"},         cbi("luci_statistics/df"),              "Speicherplatz",        30)
+       _entry({"admin", "statistics", "system", "disk"},       cbi("luci_statistics/disk"),            "Datenträger",         40)
+       _entry({"admin", "statistics", "system", "irq"},        cbi("luci_statistics/irq"),             "Interrupts",           50)
+       _entry({"admin", "statistics", "system", "processes"},  cbi("luci_statistics/processes"),       "Prozesse",             60)
+
+       entry({"admin", "statistics", "network"},               statistics_networkplugins,              "Netzwerkplugins",      40)
+       _entry({"admin", "statistics", "network", "interface"}, cbi("luci_statistics/interface"),       "Schnittstellen",       10)
+       _entry({"admin", "statistics", "network", "netlink"},   cbi("luci_statistics/netlink"),         "Netlink",              20)
+       _entry({"admin", "statistics", "network", "iptables"},  cbi("luci_statistics/iptables"),        "Firewall",             30)
+       _entry({"admin", "statistics", "network", "tcpconns"},  cbi("luci_statistics/tcpconns"),        "Verbindungen",         40)
+       _entry({"admin", "statistics", "network", "ping"},      cbi("luci_statistics/ping"),            "Ping",                 50)
+       _entry({"admin", "statistics", "network", "dns"},       cbi("luci_statistics/dns"),             "DNS",                  60)
+end
+
+
+function statistics_index()
+       tpl.render("admin_statistics/index")
+end
+
+function statistics_outputplugins()
+       plugins = {
+               rrdtool="RRDTool",
+               network="Netzwerk",
+               unixsock="Unix Socket",
+               csv="CSV"
+       }
+
+       tpl.render("admin_statistics/outputplugins", {plugins=plugins})
+end
+
+function statistics_systemplugins()
+       plugins = {
+               exec="Exec",
+               email="E-Mail",
+               disk="Datenträger",
+               irq="Interrupts",
+               processes="Prozesse"
+       }
+
+       tpl.render("admin_statistics/systemplugins", {plugins=plugins})
+end
+
+function statistics_networkplugins()
+       plugins = {
+               interface="Schnittstellen",
+               netlink="Netlink",
+               iptables="Firewall",
+               tcpconns="Verbindungen",
+               ping="Ping",
+               dns="DNS"
+       }
+
+       tpl.render("admin_statistics/networkplugins", {plugins=plugins})
+end
diff --git a/applications/luci-statistics/src/controller/public/statistics.lua b/applications/luci-statistics/src/controller/public/statistics.lua
deleted file mode 100644 (file)
index d7ed1e3..0000000
+++ /dev/null
@@ -1 +0,0 @@
-module("ffluci.controller.public.statistics", package.seeall)
diff --git a/applications/luci-statistics/src/model/menu/70luci-statistics.lua b/applications/luci-statistics/src/model/menu/70luci-statistics.lua
deleted file mode 100644 (file)
index e53a0a0..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-add( "admin", "statistics", "Statistiken", 70 )
---act( "apache", "Apache" )
---act( "apcups", "Apcups" )
---act( "ascent", "Ascent" )
---act( "cpufreq", "Cpufreq" )
-act( "csv", "CSV" )
-act( "df", "Speicher" )
-act( "disk", "Festplatte" )
-act( "dns", "DNS" )
-act( "email", "E-Mail" )
-act( "exec", "Exec" )
-act( "interface", "Schnittstellen" )
-act( "iptables", "Firewall" )
-act( "irq", "Interrupts" )
-act( "logfile", "Protokolldateien" )
-act( "netlink", "Netlink" )
-act( "network", "Netzwerk" )
---act( "nginx", "nginx Server" )
---act( "ntpd", "NTP Server" )
-act( "ping", "Ping" )
---act( "powerdns", "Powerdns Server" )
-act( "processes", "Prozesse" )
-act( "rrdtool", "RRDTool" )
---act( "sensors", "Sensoren" )
---act( "snmp", "SNMP Datenquellen" )
---act( "syslog", "Systemlog" )
---act( "tail", "Dateiverfolgung" )
---act( "teamspeak2", "TeamSpeak 2" )
-act( "tcpconns", "TCP Verbindungen" )
-act( "unixsock", "UNIX Socket" )
---act( "vmem", "Vmem" )
diff --git a/applications/luci-statistics/src/view/admin_statistics/index.htm b/applications/luci-statistics/src/view/admin_statistics/index.htm
new file mode 100644 (file)
index 0000000..2c1befa
--- /dev/null
@@ -0,0 +1,8 @@
+<%+header%>
+
+<h1><%:stat Statistiken%></h1>
+
+<p><%:stat_desc Die Statistiken bauen auf <a href="http://collectd.org/index.shtml">Collectd</a> auf und nutzen
+<a href="http://oss.oetiker.ch/rrdtool/">RRD Tool</a> um Graphen aus den erfassten Daten zu rendern.%></p>
+
+<%+footer%>
diff --git a/applications/luci-statistics/src/view/admin_statistics/networkplugins.htm b/applications/luci-statistics/src/view/admin_statistics/networkplugins.htm
new file mode 100644 (file)
index 0000000..0c6d7f7
--- /dev/null
@@ -0,0 +1,18 @@
+<%+header%>
+
+<h1><%:stat_networkplugins Netzwerkplugins%></h1>
+
+<p><%:stat_networkplugins_desc Netzwerkplugins sammeln Werte über offene TCP-Verbindung, allgemeines Verkehrsaufkommen
+auf verschiedenen Schnittstellen, DNS-Verkehr u.v.m.%></p>
+
+<p><%:stat_networkplugins_installed Installierte Netzwerkplugins:%>
+       <ul>
+               <% for plugin, desc in pairs(plugins) do %>
+                       <% if ffluci.fs.isfile("/usr/lib/collectd/" .. plugin .. ".so") then %>
+                               <li><a href="/cgi-bin/ffluci/admin/statistics/network/<%=plugin%>"><%=desc%></a></li>
+                       <% end %>
+               <% end %>
+       </ul>
+</p>
+
+<%+footer%>
diff --git a/applications/luci-statistics/src/view/admin_statistics/outputplugins.htm b/applications/luci-statistics/src/view/admin_statistics/outputplugins.htm
new file mode 100644 (file)
index 0000000..ed86514
--- /dev/null
@@ -0,0 +1,19 @@
+<%+header%>
+
+<h1><%:stat_outputplugins Ausgabeplugins%></h1>
+
+<p><%:stat_outputplugins_desc Ausgabeplugins stellen verschiedene Möglichkeiten zur Speicherung
+der Daten bereit. Es können auch mehrere Plugins gleichzeitig aktiviert werden um beispielsweise
+die gesammelten Werte in RRD-Datenbanken zu sichern und zusätzlich über das Netzwerk zu versenden.%></p>
+
+<p><%:stat_outputplugins_installed Installierte Ausgabeplugins:%>
+       <ul>
+               <% for plugin, desc in pairs(plugins) do %>
+                       <% if ffluci.fs.isfile("/usr/lib/collectd/" .. plugin .. ".so") then %>
+                               <li><a href="/cgi-bin/ffluci/admin/statistics/output/<%=plugin%>"><%=desc%></a></li>
+                       <% end %>
+               <% end %>
+       </ul>
+</p>
+
+<%+footer%>
diff --git a/applications/luci-statistics/src/view/admin_statistics/systemplugins.htm b/applications/luci-statistics/src/view/admin_statistics/systemplugins.htm
new file mode 100644 (file)
index 0000000..cbb469a
--- /dev/null
@@ -0,0 +1,18 @@
+<%+header%>
+
+<h1><%:stat_systemplugins Systemplugins%></h1>
+
+<p><%:stat_systemplugins_desc Systemplugins sammeln Werte über den aktuellen Systemzustand und den Ressourcenverbrauch
+auf dem Gerät.%></p>
+
+<p><%:stat_systemplugins_installed Installierte Systemplugins:%>
+       <ul>
+               <% for plugin, desc in pairs(plugins) do %>
+                       <% if ffluci.fs.isfile("/usr/lib/collectd/" .. plugin .. ".so") then %>
+                               <li><a href="/cgi-bin/ffluci/admin/statistics/system/<%=plugin%>"><%=desc%></a></li>
+                       <% end %>
+               <% end %>
+       </ul>
+</p>
+
+<%+footer%>
git clone https://git.99rst.org/PROJECT