* luci/statistics: complete cbi model translation

This commit is contained in:
Jo-Philipp Wich 2008-06-01 23:52:07 +00:00
parent c660416989
commit 3e94adc682
20 changed files with 543 additions and 203 deletions

View file

@ -1,4 +1,23 @@
-- plugins --[[
Luci i18n translation file for the statistics application
(c) 2008 Freifunk Leipzig / Jo-Philipp Wich <xm@leipzig.freifunk.net>
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
$Id$
]]--
--
-- collectd plugin translations
--
stat_cpu = "Processor" stat_cpu = "Processor"
stat_ping = "Ping" stat_ping = "Ping"
stat_iptables = "Firewall" stat_iptables = "Firewall"
@ -10,7 +29,10 @@ stat_interface = "Interfaces"
stat_df = "Disk Space Usage" stat_df = "Disk Space Usage"
stat_irq = "Interrupts" stat_irq = "Interrupts"
-- diagrams
--
-- diagram translations
--
stat_dg_title_wireless__signal_noise = "%H: Wireless - Signal Noise Ratio" stat_dg_title_wireless__signal_noise = "%H: Wireless - Signal Noise Ratio"
stat_dg_label_wireless__signal_noise = "dBm" stat_dg_label_wireless__signal_noise = "dBm"
stat_ds_signal_noise = "Noise Level" stat_ds_signal_noise = "Noise Level"
@ -94,3 +116,301 @@ stat_ds_df__used = "%ds"
stat_dg_title_irq = "%H: Interrupts" stat_dg_title_irq = "%H: Interrupts"
stat_dg_label_irq = "Issues/s" stat_dg_label_irq = "Issues/s"
stat_ds_irq = "IRQ %di" stat_ds_irq = "IRQ %di"
--
-- CBI translations
--
lucistatistics = "Statistics"
-- general config
lucistatistics_collectd = "Collectd Settings"
lucistatistics_collectd_desc = [[
Collectd is a small daeomon for collecting data from various sources through different plugins.
On this page you can change general settings for the collectd daemon.
]]
lucistatistics_collectd_hostname = "Hostname"
lucistatistics_collectd_basedir = "Base Directory"
lucistatistics_collectd_include = "Directory for sub-configurations"
lucistatistics_collectd_plugindir = "Directory for collectd plugins"
lucistatistics_collectd_pidfile = "Used PID file"
lucistatistics_collectd_typesdb = "Datasets definition file"
lucistatistics_collectd_interval = "Data collection interval"
lucistatistics_collectd_interval_desc = "Seconds"
lucistatistics_collectd_readthreads = "Number of threads for data collection"
lucistatistics_collectd_fqdnlookup = "Try to lookup fully qualified hostname"
-- cpu plugin
lucistatistics_collectdcpu = "CPU Plugin Configuration"
lucistatistics_collectdcpu_desc = "The cpu plugin collects basic statistics about the processor usage."
lucistatistics_collectdcpu_enable = "Enable this plugin"
-- csv plugin
lucistatistics_collectdcsv = "CSV Plugin Configuration"
lucistatistics_collectdcsv_desc = "The csv plugin stores collected data in csv file format for further processing by external programs."
lucistatistics_collectdcsv_enable = "Enable this plugin"
lucistatistics_collectdcsv_datadir = "Storage directory for the csv files"
lucistatistics_collectdcsv_storerates = "Store data values as rates instead of absolute values"
-- df plugin
lucistatistics_collectddf = "DF Plugin Configuration"
lucistatistics_collectddf_desc = "The df plugin collects statistics about the disk space usage on different devices, mount points or filesystem types."
lucistatistics_collectddf_enable = "Enable this plugin"
lucistatistics_collectddf_devices = "Monitor devices"
lucistatistics_collectddf_devices_desc = "multiple separated by space"
lucistatistics_collectddf_mountpoints = "Monitor mount points"
lucistatistics_collectddf_mountpoints_desc = "multiple separated by space"
lucistatistics_collectddf_fstypes = "Monitor filesystem types"
lucistatistics_collectddf_fstypes_desc = "multiple separated by space"
lucistatistics_collectddf_ignoreselected = "Monitor all except selected ones"
-- disk plugin
lucistatistics_collectddisk = "Disk Plugin Configuration"
lucistatistics_collectddisk_desc = "The disk plugin collects detailled usage statistics for selected partitions or whole disks."
lucistatistics_collectddisk_enable = "Enable this plugin"
lucistatistics_collectddisk_disks = "Monitor disks and partitions"
lucistatistics_collectddisk_disks_desc = "multiple separated by space"
lucistatistics_collectddisk_ignoreselected = "Monitor all except selected ones"
-- dns plugin
lucistatistics_collectddns = "DNS Plugin Configuration"
lucistatistics_collectddns_desc = "The dns plugin collects detailled statistics about dns related traffic on selected interfaces."
lucistatistics_collectddns_enable = "Enable this plugin"
lucistatistics_collectddns_interfaces = "Monitor interfaces"
lucistatistics_collectddns_interfaces_desc = "multiple separated by space"
lucistatistics_collectddns_ignoresources = "Ignore source addresses"
lucistatistics_collectddns_ignoresources_desc = "multiple separated by space"
-- email plugin
lucistatistics_collectdemail = "E-Mail Plugin Configuration"
lucistatistics_collectdemail_desc = [[
The email plugin creates a unix socket which can be used to transmit
email-statistics to a running collectd daemon. This plugin is primarily
intended to be used in conjunction with Mail::SpamAssasin::Plugin::Collectd
but can be used in other ways as well.
]]
lucistatistics_collectdemail_enable = "Enable this plugin"
lucistatistics_collectdemail_socketfile = "Filepath of the unix socket"
lucistatistics_collectdemail_socketgroup = "Group ownership of the unix socket"
lucistatistics_collectdemail_socketgroup_desc = "group name"
lucistatistics_collectdemail_socketperms = "File permissions of the unix socket"
lucistatistics_collectdemail_socketperms_desc = "octal"
lucistatistics_collectdemail_maxconns = "Maximum allowed connections"
-- exec plugin
lucistatistics_collectdexec = "Exec Plugin Configuration"
lucistatistics_collectdexec_desc = [[
The exec plugin starts external commands to read values from or
to notify external processes when certain threshold values have
been reached.
]]
lucistatistics_collectdexec_enable = "Enable this plugin"
lucistatistics_collectdexecinput = "Add command for reading values"
lucistatistics_collectdexecinput_desc = [[
Here you can define external commands which will be started by collectd in order
to read certain values. The values will be read from stdout.
]]
lucistatistics_collectdexecinput_cmdline = "Commandline"
lucistatistics_collectdexecinput_cmduser = "Run as user"
lucistatistics_collectdexecinput_cmdgroup = "Run as group"
lucistatistics_collectdexecnotify = "Add notification command"
lucistatistics_collectdexecnotify_desc = [[
Here you can define external commands which will be started by collectd
when certain threshold values have been reached. The values leading to
invokation will be feeded to the the called programs stdin.
]]
lucistatistics_collectdexecnotify_cmdline = "Commandline"
lucistatistics_collectdexecnotify_cmduser = "Run as user"
lucistatistics_collectdexecnotify_cmdgroup = "Run as group"
-- interface plugin
lucistatistics_collectdinterface = "Interface Plugin Configuration"
lucistatistics_collectdinterface_desc = "The interface plugin collects traffic statistics on selected interfaces."
lucistatistics_collectdinterface_enable = "Enable this plugin"
lucistatistics_collectdinterface_interfaces = "Monitor interfaces"
lucistatistics_collectdinterface_interfaces_desc = "hold Ctrl while clicking to select multiple interfaces"
lucistatistics_collectdinterface_ignoreselected = "Monitor all except selected ones"
-- iptables plugin
lucistatistics_collectdiptables = "Iptables Plugin Configuration"
lucistatistics_collectdiptables_desc = [[
The iptables plugin will monitor selected firewall rules and collect
informations about processed bytes and packets per rule.
]]
lucistatistics_collectdiptables_enable = "Enable this plugin"
lucistatistics_collectdiptablesmatch = "Add matching rule"
lucistatistics_collectdiptablesmatch_desc = [[
Here you can define various criteria by which the monitored
iptables rules are selected.
]]
lucistatistics_collectdiptablesmatch_name = "Name of the rule"
lucistatistics_collectdiptablesmatch_name_desc = "max. 16 chars"
lucistatistics_collectdiptablesmatch_table = "Table"
lucistatistics_collectdiptablesmatch_chain = "Chain"
lucistatistics_collectdiptablesmatch_target = "Action (target)"
lucistatistics_collectdiptablesmatch_protocol = "Network protocol"
lucistatistics_collectdiptablesmatch_source = "Source ip range"
lucistatistics_collectdiptablesmatch_source_desc = "CIDR notation"
lucistatistics_collectdiptablesmatch_destination = "Destination ip range"
lucistatistics_collectdiptablesmatch_destination_desc = "CIDR notation"
lucistatistics_collectdiptablesmatch_inputif = "Incoming interface"
lucistatistics_collectdiptablesmatch_inputif_desc = "e.g. br-lan"
lucistatistics_collectdiptablesmatch_outputif = "Outgoing interface"
lucistatistics_collectdiptablesmatch_outputif_desc = "e.g. br-ff"
lucistatistics_collectdiptablesmatch_options = "Options"
lucistatistics_collectdiptablesmatch_options_desc = "e.g. reject-with tcp-reset"
-- irq plugin
lucistatistics_collectdirq = "IRQ Plugin Configuration"
lucistatistics_collectdirq_desc = [[
The irq plugin will monitor the rate of issues per second for each selected interrupt.
If no interrupt is selected then all interrupts are monitored.
]]
lucistatistics_collectdirq_enable = "Enable this plugin"
lucistatistics_collectdirq_irqs = "Monitor interrupts"
lucistatistics_collectdirq_irqs_desc = "multiple separated by space"
lucistatistics_collectdirq_ignoreselected = "Monitor all except selected ones"
-- netlink plugin
lucistatistics_collectdnetlink = "Netlink Plugin Configuration"
lucistatistics_collectdnetlink_desc = [[
The netlink plugin collects extended informations like qdisc-, class- and
filter-statistics for selected interfaces.
]]
lucistatistics_collectdnetlink_enable = "Enable this plugin"
lucistatistics_collectdnetlink_interfaces = "Basic monitoring"
lucistatistics_collectdnetlink_interfaces_desc = "hold Ctrl while clicking to select multiple interfaces"
lucistatistics_collectdnetlink_verboseinterfaces = "Verbose monitoring"
lucistatistics_collectdnetlink_verboseinterfaces_desc = "hold Ctrl while clicking to select multiple interfaces"
lucistatistics_collectdnetlink_qdiscs = "Qdisc monitoring"
lucistatistics_collectdnetlink_qdiscs_desc = "hold Ctrl while clicking to select multiple interfaces"
lucistatistics_collectdnetlink_classes = "Shaping class monitoring"
lucistatistics_collectdnetlink_classes_desc = "hold Ctrl while clicking to select multiple interfaces"
lucistatistics_collectdnetlink_filters = "Filter class monitoring"
lucistatistics_collectdnetlink_filters_desc = "hold Ctrl while clicking to select multiple interfaces"
-- network plugin
lucistatistics_collectdnetwork = "Network Plugin Configuration"
lucistatistics_collectdnetwork_desc = [[
The network plugin provides network based communication between different
collectd instances. Collectd can operate both in client and server mode.
In client mode locally collected date is transferred to a collectd server
instance, in server mode the local instance receives data from other hosts.
]]
lucistatistics_collectdnetwork_enable = "Enable this plugin"
lucistatistics_collectdnetworklisten = "Listener interfaces"
lucistatistics_collectdnetworklisten_desc = "This section defines on which interfaces collectd will wait for incoming connections."
lucistatistics_collectdnetworklisten_host = "Listen host"
lucistatistics_collectdnetworklisten_host_desc = "host-, ip- or ip6 address"
lucistatistics_collectdnetworklisten_port = "Listen port"
lucistatistics_collectdnetworklisten_port_desc = "0 - 65535"
lucistatistics_collectdnetworkserver = "serverer interfaces"
lucistatistics_collectdnetworkserver_desc = "This section defines to which servers the locally collected data is sent to."
lucistatistics_collectdnetworkserver_host = "Server host"
lucistatistics_collectdnetworkserver_host_desc = "host-, ip- or ip6 address"
lucistatistics_collectdnetworkserver_port = "Server port"
lucistatistics_collectdnetworkserver_port_desc = "0 - 65535"
lucistatistics_collectdnetwork_timetolive = "TTL for network packets"
lucistatistics_collectdnetwork_timetolive_desc = "0 - 255"
lucistatistics_collectdnetwork_forward = "Forwarding between listen and server addresses"
lucistatistics_collectdnetwork_cacheflush = "Cache flush interval"
lucistatistics_collectdnetwork_cacheflush_desc = "seconds"
-- ping plugin
lucistatistics_collectdping = "Ping Plugin Configuration"
lucistatistics_collectdping_desc = [[
The ping plugin will send icmp echo replies to selected hosts and
measure the roundtrip time for each host.
]]
lucistatistics_collectdping_enable = "Enable this plugin"
lucistatistics_collectdping_hosts = "Monitor hosts"
lucistatistics_collectdping_hosts_desc = "multiple separated by space"
lucistatistics_collectdping_ttl = "TTL for ping packets"
lucistatistics_collectdping_ttl_desc = "0 - 255"
-- processes plugin
lucistatistics_collectdprocesses = "Processes Plugin Configuration"
lucistatistics_collectdprocesses_desc = [[
The processes plugin collects informations like cpu time, page faults
and memory usage of selected processes.
]]
lucistatistics_collectdprocesses_enable = "Enable this plugin"
lucistatistics_collectdprocesses_processes = "Monitor processes"
lucistatistics_collectdprocesses_processes_desc = "multiple separated by space"
-- rrdtool plugin
lucistatistics_collectdrrdtool = "RRDTool Plugin Configuration"
lucistatistics_collectdrrdtool_desc = [[
The rrdtool plugin stores the collected data in rrd database files, the
foundation of the diagrams.<br /><br />
<strong>Warning: Setting the wrong values will result in a very
high memory consumption in the temporary directory. This can
render the device unusable!</strong>
]]
lucistatistics_collectdrrdtool_enable = "Enable this plugin"
lucistatistics_collectdrrdtool_datadir = "Storage directory"
lucistatistics_collectdrrdtool_stepsize = "RRD step interval"
lucistatistics_collectdrrdtool_stepsize_desc = "seconds"
lucistatistics_collectdrrdtool_heartbeat = "RRD heart beat interval"
lucistatistics_collectdrrdtool_heartbeat_desc = "seconds"
lucistatistics_collectdrrdtool_rrasingle = "Only create average RRAs"
lucistatistics_collectdrrdtool_rrasingle_desc = "reduces rrd size"
lucistatistics_collectdrrdtool_rratimespans = "Stored timespans"
lucistatistics_collectdrrdtool_rratimespans_desc = "seconds; multiple separated by space"
lucistatistics_collectdrrdtool_rrarows = "Rows per RRA"
lucistatistics_collectdrrdtool_xff = "RRD XFiles Factor"
lucistatistics_collectdrrdtool_cachetimeout = "Cache collected data for"
lucistatistics_collectdrrdtool_cachetimeout_desc = "seconds"
lucistatistics_collectdrrdtool_cacheflush = "Flush cache after"
lucistatistics_collectdrrdtool_cacheflush_desc = "seconds"
-- tcpconns plugin
lucistatistics_collectdtcpconns = "TCPConns Plugin Configuration"
lucistatistics_collectdtcpconns_desc = [[
The tcpconns plugin collects informations about
open tcp connections on selected ports.
]]
lucistatistics_collectdtcpconns_enable = "Enable this plugin"
lucistatistics_collectdtcpconns_listeningports = "Monitor all local listen ports"
lucistatistics_collectdtcpconns_localports = "Monitor local ports"
lucistatistics_collectdtcpconns_localports_desc = "0 - 65535; multiple separated by space"
lucistatistics_collectdtcpconns_remoteports = "Monitor remote ports"
lucistatistics_collectdtcpconns_remoteports_desc = "0 - 65535; multiple separated by space"
-- unixsock plugin
lucistatistics_collectdunixsock = "Unixsock Plugin Configuration"
lucistatistics_collectdunixsock_desc = [[
The unixsock plugin creates a unix socket which can be used to read
collected data from a running collectd instance.
]]
lucistatistics_collectdunixsock_enable = "Enable this plugin"
lucistatistics_collectdunixsock_socketfile = "Filepath of the unix socket"
lucistatistics_collectdunixsock_socketgroup = "Group ownership of the unix socket"
lucistatistics_collectdunixsock_socketgroup_desc = "group name"
lucistatistics_collectdunixsock_socketperms = "File permissions of the unix socket"
lucistatistics_collectdunixsock_socketperms_desc = "octal"
-- wireless plugin
lucistatistics_collectdwireless = "Wireless Plugin Configuration"
lucistatistics_collectdwireless_desc = [[
The wireless plugin collects statistics about wireless signal strength, noise and quality.
]]
lucistatistics_collectdwireless_enable = "Enable this plugin"

View file

@ -16,51 +16,56 @@ $Id$
require("luci.sys") require("luci.sys")
luci.i18n.load("statistics.en")
--[[
m = Map("luci_statistics", "Collector Daemon", m = Map("luci_statistics", "Collector Daemon",
[[Collectd ist ein kleiner und flexibler Dienst zum Sammeln und Abfragen von Daten Collectd ist ein kleiner und flexibler Dienst zum Sammeln und Abfragen von Daten
aus verschieden Quellen. Zur weiteren Verarbeitung werden die Daten in RRD Datenbanken aus verschieden Quellen. Zur weiteren Verarbeitung werden die Daten in RRD Datenbanken
gespeichert oder per Multicast Relaying über das Netzwerk versendet.]]) gespeichert oder per Multicast Relaying über das Netzwerk versendet.)
]]--
m = Map("luci_statistics")
-- general config section -- general config section
s = m:section( NamedSection, "general", "luci_statistics", "Allgemeine Einstellungen" ) s = m:section( NamedSection, "collectd", "luci_statistics" )
-- general.hostname (Hostname)
hostname = s:option( Value, "Hostname" )
hostname.default = luci.sys.hostname()
hostname.optional = true
-- general.basedir (BaseDir) -- general.basedir (BaseDir)
basedir = s:option( Value, "BaseDir", "Basisverzeichnis" ) basedir = s:option( Value, "BaseDir" )
basedir.default = "/var/run/collectd" basedir.default = "/var/run/collectd"
-- general.include (Include) -- general.include (Include)
include = s:option( Value, "Include", "Verzeichnis für Unterkonfigurationen" ) include = s:option( Value, "Include" )
include.default = "/etc/collectd/conf.d/*.conf" include.default = "/etc/collectd/conf.d/*.conf"
-- general.pidfile (PIDFile)
pidfile = s:option( Value, "PIDFile", "PID-Datei für den Collector Dienst" )
pidfile.default = "/var/run/collectd.pid"
-- general.plugindir (PluginDir) -- general.plugindir (PluginDir)
plugindir = s:option( Value, "PluginDir", "Verzeichnis für die Collector-Plugins" ) plugindir = s:option( Value, "PluginDir" )
plugindir.default = "/usr/lib/collectd/" plugindir.default = "/usr/lib/collectd/"
-- general.pidfile (PIDFile)
pidfile = s:option( Value, "PIDFile" )
pidfile.default = "/var/run/collectd.pid"
-- general.typesdb (TypesDB) -- general.typesdb (TypesDB)
typesdb = s:option( Value, "TypesDB", "Datenbank mit den Datenset-Beschreibungen" ) typesdb = s:option( Value, "TypesDB" )
typesdb.default = "/etc/collectd/types.db" typesdb.default = "/etc/collectd/types.db"
-- general.interval (Interval) -- general.interval (Interval)
interval = s:option( Value, "Interval", "Abfrageintervall für die Datenerfassung", "Sekunden" ) interval = s:option( Value, "Interval" )
interval.default = 60 interval.default = 60
interval.isnumber = true interval.isnumber = true
-- general.readthreads (ReadThreads) -- general.readthreads (ReadThreads)
readthreads = s:option( Value, "ReadThreads", "Anzahl paralleler Prozesse für die Datenabfrage" ) readthreads = s:option( Value, "ReadThreads" )
readthreads.default = 5 readthreads.default = 5
readthreads.isnumber = true readthreads.isnumber = true
-- general.hostname (Hostname)
hostname = s:option( Value, "Hostname", "Hostname zur Identifikation des Collector Dienstes (leer lassen um den Namen automatisch zu bestimmen)" )
hostname.default = luci.sys.hostname()
hostname.optional = true
-- general.fqdnlookup (FQDNLookup) -- general.fqdnlookup (FQDNLookup)
fqdnlookup = s:option( Flag, "FQDNLookup", "Versuchen den vollen Hostnamen dieser Installation herauszufinden" ) fqdnlookup = s:option( Flag, "FQDNLookup" )
fqdnlookup.enabled = "true" fqdnlookup.enabled = "true"
fqdnlookup.disabled = "false" fqdnlookup.disabled = "false"
fqdnlookup.default = "false" fqdnlookup.default = "false"

View file

@ -0,0 +1,25 @@
--[[
Luci configuration model for statistics - collectd cpu plugin configuration
(c) 2008 Freifunk Leipzig / Jo-Philipp Wich <xm@leipzig.freifunk.net>
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
$Id$
]]--
m = Map("luci_statistics")
-- collectd_cpu config section
s = m:section( NamedSection, "collectd_cpu", "luci_statistics" )
-- collectd_cpu.enable
enable = s:option( Flag, "enable" )
enable.default = 0
return m

View file

@ -13,25 +13,22 @@ $Id$
]]-- ]]--
m = Map("luci_statistics", "CSV Plugin", m = Map("luci_statistics")
[[Das CSV-Plugin schreibt in regelmäßigen Abständen die gesammelten Daten als
CSV-Dateien in das angegebene Verzeichnis. Der Speicherbedarf wächst dabei
kontinuierlich!]])
-- collectd_csv config section -- collectd_csv config section
s = m:section( NamedSection, "collectd_csv", "luci_statistics", "Pluginkonfiguration" ) s = m:section( NamedSection, "collectd_csv", "luci_statistics" )
-- collectd_csv.enable -- collectd_csv.enable
enable = s:option( Flag, "enable", "Plugin aktivieren" ) enable = s:option( Flag, "enable" )
enable.default = 0 enable.default = 0
-- collectd_csv.datadir (DataDir) -- collectd_csv.datadir (DataDir)
datadir = s:option( Value, "DataDir", "Ablageverzeichnis für die CSV-Dateien" ) datadir = s:option( Value, "DataDir" )
datadir.default = "127.0.0.1" datadir.default = "127.0.0.1"
datadir:depends( "enable", 1 ) datadir:depends( "enable", 1 )
-- collectd_csv.storerates (StoreRates) -- collectd_csv.storerates (StoreRates)
storerates = s:option( Flag, "StoreRates", "Werte nicht absolut, sondern als Raten speichern" ) storerates = s:option( Flag, "StoreRates" )
storerates.default = 0 storerates.default = 0
storerates:depends( "enable", 1 ) storerates:depends( "enable", 1 )

View file

@ -13,37 +13,35 @@ $Id$
]]-- ]]--
m = Map("luci_statistics", "DF Plugin", m = Map("luci_statistics")
[[Das DF-Plugin sammelt Informationen über den belegten und verfügbaren Speicherplatz auf den
angegebenen Geräten, Mountpunkten oder Dateisystemtypen.]])
-- collectd_df config section -- collectd_df config section
s = m:section( NamedSection, "collectd_df", "luci_statistics", "Pluginkonfiguration" ) s = m:section( NamedSection, "collectd_df", "luci_statistics" )
-- collectd_df.enable -- collectd_df.enable
enable = s:option( Flag, "enable", "Plugin aktivieren" ) enable = s:option( Flag, "enable" )
enable.default = 0 enable.default = 0
-- collectd_df.devices (Device) -- collectd_df.devices (Device)
devices = s:option( Value, "Devices", "Gerätedateien", "Einträge mit Leerzeichen trennen" ) devices = s:option( Value, "Devices" )
devices.default = "/dev/mtdblock/4" devices.default = "/dev/mtdblock/4"
devices.rmempty = true devices.optional = true
devices:depends( "enable", 1 ) devices:depends( "enable", 1 )
-- collectd_df.mountpoints (MountPoint) -- collectd_df.mountpoints (MountPoint)
mountpoints = s:option( Value, "MountPoints", "Mountpunkte", "Einträge mit Leerzeichen trennen" ) mountpoints = s:option( Value, "MountPoints" )
mountpoints.default = "/jffs" mountpoints.default = "/jffs"
mountpoints.rmempty = true mountpoints.optional = true
mountpoints:depends( "enable", 1 ) mountpoints:depends( "enable", 1 )
-- collectd_df.fstypes (FSType) -- collectd_df.fstypes (FSType)
fstypes = s:option( Value, "FSTypes", "Dateisystemtypen", "Einträge mit Leerzeichen trennen" ) fstypes = s:option( Value, "FSTypes" )
fstypes.default = "tmpfs" fstypes.default = "tmpfs"
fstypes.rmempty = true fstypes.optional = true
fstypes:depends( "enable", 1 ) fstypes:depends( "enable", 1 )
-- collectd_df.ignoreselected (IgnoreSelected) -- collectd_df.ignoreselected (IgnoreSelected)
ignoreselected = s:option( Flag, "IgnoreSelected", "Logik umkehren und alle Datenträger überwachen die nicht auf die obigen Kriterien zutreffen" ) ignoreselected = s:option( Flag, "IgnoreSelected" )
ignoreselected.default = 0 ignoreselected.default = 0
ignoreselected:depends( "enable", 1 ) ignoreselected:depends( "enable", 1 )

View file

@ -13,24 +13,23 @@ $Id$
]]-- ]]--
m = Map("luci_statistics", "Disk Plugin", m = Map("luci_statistics")
[[Das Disk-Plugin sammelt Informationen über Augewählte Fesplatten.]])
-- collectd_disk config section -- collectd_disk config section
s = m:section( NamedSection, "collectd_disk", "luci_statistics", "Pluginkonfiguration" ) s = m:section( NamedSection, "collectd_disk", "luci_statistics" )
-- collectd_disk.enable -- collectd_disk.enable
enable = s:option( Flag, "enable", "Plugin aktivieren" ) enable = s:option( Flag, "enable" )
enable.default = 0 enable.default = 0
-- collectd_disk.disks (Disk) -- collectd_disk.disks (Disk)
devices = s:option( Value, "Disks", "Fesplatten oder Partitionen", "Einträge mit Leerzeichen trennen" ) devices = s:option( Value, "Disks" )
devices.default = "hda1 hdb" devices.default = "hda1 hdb"
devices.rmempty = true devices.rmempty = true
devices:depends( "enable", 1 ) devices:depends( "enable", 1 )
-- collectd_disk.ignoreselected (IgnoreSelected) -- collectd_disk.ignoreselected (IgnoreSelected)
ignoreselected = s:option( Flag, "IgnoreSelected", "Logik umkehren und alle Datenträger und Partitionen überwachen die nicht auf die obigen Kriterien zutreffen" ) ignoreselected = s:option( Flag, "IgnoreSelected" )
ignoreselected.default = 0 ignoreselected.default = 0
ignoreselected:depends( "enable", 1 ) ignoreselected:depends( "enable", 1 )

View file

@ -16,18 +16,17 @@ $Id$
require("luci.sys") require("luci.sys")
m = Map("luci_statistics", "DNS Plugin", m = Map("luci_statistics")
[[Das DNS-Plugin nutzt die pcap Bibliothek um DNS-Verkehr zu analysieren.]])
-- collectd_dns config section -- collectd_dns config section
s = m:section( NamedSection, "collectd_dns", "luci_statistics", "Pluginkonfiguration" ) s = m:section( NamedSection, "collectd_dns", "luci_statistics" )
-- collectd_dns.enable -- collectd_dns.enable
enable = s:option( Flag, "enable", "Plugin aktivieren" ) enable = s:option( Flag, "enable" )
enable.default = 0 enable.default = 0
-- collectd_dns.interfaces (Interface) -- collectd_dns.interfaces (Interface)
interfaces = s:option( ListValue, "Interface", "Folgende Schnittstelle überwachen:" ) interfaces = s:option( ListValue, "Interfaces" )
interfaces:depends( "enable", 1 ) interfaces:depends( "enable", 1 )
interfaces:value("any") interfaces:value("any")
for k, v in pairs(luci.sys.net.devices()) do for k, v in pairs(luci.sys.net.devices()) do
@ -35,7 +34,7 @@ for k, v in pairs(luci.sys.net.devices()) do
end end
-- collectd_dns.ignoresources (IgnoreSource) -- collectd_dns.ignoresources (IgnoreSource)
ignoresources = s:option( Value, "IgnoreSources", "Verkehr von folgenden IP Adressen ignorieren:", "mehrere Einträge mit Leerzeichen trennen" ) ignoresources = s:option( Value, "IgnoreSources" )
ignoresources.default = "127.0.0.1" ignoresources.default = "127.0.0.1"
ignoresources:depends( "enable", 1 ) ignoresources:depends( "enable", 1 )

View file

@ -13,39 +13,36 @@ $Id$
]]-- ]]--
m = Map("luci_statistics", "E-Mail Plugin", m = Map("luci_statistics")
[[Das E-Mail-Plugin öffnet einen Unix-Socket über welchen E-Mail Statistiken an collectd
übergeben werden können. Dieses Plugin ist primär für die Verwendung mit
Mail::SpamAssassin::Plugin::Collectd gedacht, lässt sich aber auch anderweitig einsetzen.]])
-- collectd_email config section -- collectd_email config section
s = m:section( NamedSection, "collectd_email", "luci_statistics", "Pluginkonfiguration" ) s = m:section( NamedSection, "collectd_email", "luci_statistics" )
-- collectd_email.enable -- collectd_email.enable
enable = s:option( Flag, "enable", "Plugin aktivieren" ) enable = s:option( Flag, "enable" )
enable.default = 0 enable.default = 0
-- collectd_email.socketfile (SocketFile) -- collectd_email.socketfile (SocketFile)
socketfile = s:option( Value, "SocketFile", "Pfad für den Unix-Socket" ) socketfile = s:option( Value, "SocketFile" )
socketfile.default = "/var/run/collect-email.sock" socketfile.default = "/var/run/collect-email.sock"
socketfile:depends( "enable", 1 ) socketfile:depends( "enable", 1 )
-- collectd_email.socketgroup (SocketGroup) -- collectd_email.socketgroup (SocketGroup)
socketgroup = s:option( Value, "SocketGroup", "Dateibesitzergruppe für den Unix-Socket ändern" ) socketgroup = s:option( Value, "SocketGroup" )
socketgroup.default = "nobody" socketgroup.default = "nobody"
socketgroup.rmempty = true socketgroup.rmempty = true
socketgroup.optional = true socketgroup.optional = true
socketgroup:depends( "enable", 1 ) socketgroup:depends( "enable", 1 )
-- collectd_email.socketperms (SocketPerms) -- collectd_email.socketperms (SocketPerms)
socketperms = s:option( Value, "SocketPerms", "Dateiberechtigungen für den Unix-Socket ändern" ) socketperms = s:option( Value, "SocketPerms" )
socketperms.default = "0770" socketperms.default = "0770"
socketperms.rmempty = true socketperms.rmempty = true
socketperms.optional = true socketperms.optional = true
socketperms:depends( "enable", 1 ) socketperms:depends( "enable", 1 )
-- collectd_email.maxconns (MaxConns) -- collectd_email.maxconns (MaxConns)
maxconns = s:option( Value, "MaxConns", "Maximale Anzahl paralleler Verbindungen", "Werte von 1 bis 16384" ) maxconns = s:option( Value, "MaxConns" )
maxconns.default = 5 maxconns.default = 5
maxconns.isinteger = true maxconns.isinteger = true
maxconns.rmempty = true maxconns.rmempty = true

View file

@ -13,62 +13,55 @@ $Id$
]]-- ]]--
m = Map("luci_statistics", "Exec Plugin", m = Map("luci_statistics")
[[Das Exec-Plugin ermöglicht das Ausführen von externen Programmen um Werte einzulesen
oder Aktionen beim Eintreten bestimmter Ereignisse anzustoßen.]])
-- collectd_exec config section -- collectd_exec config section
s = m:section( NamedSection, "collectd_exec", "luci_statistics", "Pluginkonfiguration" ) s = m:section( NamedSection, "collectd_exec", "luci_statistics" )
-- collectd_exec.enable -- collectd_exec.enable
enable = s:option( Flag, "enable", "Plugin aktivieren" ) enable = s:option( Flag, "enable" )
enable.default = 0 enable.default = 0
-- collectd_exec_input config section (Exec directives) -- collectd_exec_input config section (Exec directives)
exec = m:section( TypedSection, "collectd_exec_input", "Befehl zum Einlesen von Daten hinzufügen", exec = m:section( TypedSection, "collectd_exec_input" )
[[Hier können externe Kommandos definiert werden welche durch collectd gestartet werden um bestimmte
Daten zu sammeln. Die Werte werden dabei von der Standardausgabe des Programmes gelesen.]])
exec.addremove = true exec.addremove = true
exec.anonymous = true exec.anonymous = true
-- collectd_exec_input.cmdline -- collectd_exec_input.cmdline
exec_cmdline = exec:option( Value, "cmdline", "Kommandozeile" ) exec_cmdline = exec:option( Value, "cmdline" )
exec_cmdline.default = "/usr/bin/stat-dhcpusers" exec_cmdline.default = "/usr/bin/stat-dhcpusers"
-- collectd_exec_input.cmdline -- collectd_exec_input.cmdline
exec_cmduser = exec:option( Value, "cmduser", "Als anderer Benutzer ausführen" ) exec_cmduser = exec:option( Value, "cmduser" )
exec_cmduser.default = "nobody" exec_cmduser.default = "nobody"
exec_cmduser.rmempty = true exec_cmduser.rmempty = true
exec_cmduser.optional = true exec_cmduser.optional = true
-- collectd_exec_input.cmdline -- collectd_exec_input.cmdline
exec_cmdgroup = exec:option( Value, "cmdgroup", "Als andere Gruppe ausführen" ) exec_cmdgroup = exec:option( Value, "cmdgroup" )
exec_cmdgroup.default = "nogroup" exec_cmdgroup.default = "nogroup"
exec_cmdgroup.rmempty = true exec_cmdgroup.rmempty = true
exec_cmdgroup.optional = true exec_cmdgroup.optional = true
-- collectd_exec_notify config section (NotifyExec directives) -- collectd_exec_notify config section (NotifyExec directives)
notify = m:section( TypedSection, "collectd_exec_notify", "Befehl zum Ausgeben von Daten hinzufügen", notify = m:section( TypedSection, "collectd_exec_notify" )
[[Hier können externe Kommandos definiert werden welche zur Ausführung kommen sobald bestimmte
Ereignise eintreten. Die Daten werden dabei an die Standardeingabe des aufgerufenen Programmes gesendet.
Siehe dazu auch die Sektion "Limits".]])
notify.addremove = true notify.addremove = true
notify.anonymous = true notify.anonymous = true
-- collectd_notify_input.cmdline -- collectd_notify_input.cmdline
notify_cmdline = notify:option( Value, "cmdline", "Kommandozeile" ) notify_cmdline = notify:option( Value, "cmdline" )
notify_cmdline.default = "/usr/bin/stat-dhcpusers" notify_cmdline.default = "/usr/bin/stat-dhcpusers"
-- collectd_notify_input.cmdline -- collectd_notify_input.cmdline
notify_cmduser = notify:option( Value, "cmduser", "Als anderer Benutzer ausführen" ) notify_cmduser = notify:option( Value, "cmduser" )
notify_cmduser.default = "nobody" notify_cmduser.default = "nobody"
notify_cmduser.rmempty = true notify_cmduser.rmempty = true
notify_cmduser.optional = true notify_cmduser.optional = true
-- collectd_notify_input.cmdline -- collectd_notify_input.cmdline
notify_cmdgroup = notify:option( Value, "cmdgroup", "Als andere Gruppe ausführen" ) notify_cmdgroup = notify:option( Value, "cmdgroup" )
notify_cmdgroup.default = "nogroup" notify_cmdgroup.default = "nogroup"
notify_cmdgroup.rmempty = true notify_cmdgroup.rmempty = true
notify_cmdgroup.optional = true notify_cmdgroup.optional = true

View file

@ -16,26 +16,26 @@ $Id$
require("luci.sys") require("luci.sys")
m = Map("luci_statistics", "Interface Plugin", m = Map("luci_statistics")
[[Das Interface-Plugin sammelt Informationen zum Netzwerkverkehr auf den einzelnen Schnittstellen.]])
-- collectd_interface config section -- collectd_interface config section
s = m:section( NamedSection, "collectd_interface", "luci_statistics", "Pluginkonfiguration" ) s = m:section( NamedSection, "collectd_interface", "luci_statistics" )
-- collectd_interface.enable -- collectd_interface.enable
enable = s:option( Flag, "enable", "Plugin aktivieren" ) enable = s:option( Flag, "enable" )
enable.default = 0 enable.default = 0
-- collectd_interface.interfaces (Interface) -- collectd_interface.interfaces (Interface)
interfaces = s:option( MultiValue, "Interfaces", "Überwachte Schnittstellen", "mehrere Einträge mit Strg selektieren" ) interfaces = s:option( MultiValue, "Interfaces" )
interfaces.widget = "select" interfaces.widget = "select"
interfaces.size = 5
interfaces:depends( "enable", 1 ) interfaces:depends( "enable", 1 )
for k, v in pairs(luci.sys.net.devices()) do for k, v in pairs(luci.sys.net.devices()) do
interfaces:value(v) interfaces:value(v)
end end
-- collectd_interface.ignoreselected (IgnoreSelected) -- collectd_interface.ignoreselected (IgnoreSelected)
ignoreselected = s:option( Flag, "IgnoreSelected", "Alle Schnittstellen außer ausgewählte überwachen" ) ignoreselected = s:option( Flag, "IgnoreSelected" )
ignoreselected.default = 0 ignoreselected.default = 0
ignoreselected:depends( "enable", 1 ) ignoreselected:depends( "enable", 1 )

View file

@ -25,32 +25,27 @@ for i, rule in ipairs( ip:find() ) do
end end
m = Map("luci_statistics", "Iptables Plugin", m = Map("luci_statistics")
[[Das Iptables-Plugin ermöglicht die Überwachung bestimmter Firewallregeln um
Werte wie die Anzahl der verarbeiteten Pakete oder die insgesamt erfasste Datenmenge
zu speichern.]])
-- collectd_iptables config section -- collectd_iptables config section
s = m:section( NamedSection, "collectd_iptables", "luci_statistics", "Pluginkonfiguration" ) s = m:section( NamedSection, "collectd_iptables", "luci_statistics" )
-- collectd_iptables.enable -- collectd_iptables.enable
enable = s:option( Flag, "enable", "Plugin aktivieren" ) enable = s:option( Flag, "enable" )
enable.default = 0 enable.default = 0
-- collectd_iptables_match config section (Chain directives) -- collectd_iptables_match config section (Chain directives)
rule = m:section( TypedSection, "collectd_iptables_match", "Regel hinzufügen", rule = m:section( TypedSection, "collectd_iptables_match" )
[[Hier werden die Kriterien festgelegt, nach welchen die Firewall-Regeln zur Überwachung
ausgewählt werden.]])
rule.addremove = true rule.addremove = true
rule.anonymous = true rule.anonymous = true
-- collectd_iptables_match.name -- collectd_iptables_match.name
rule_table = rule:option( Value, "name", "Name der Regel", "wird im Diagram verwendet" ) rule_table = rule:option( Value, "name" )
-- collectd_iptables_match.table -- collectd_iptables_match.table
rule_table = rule:option( ListValue, "table", "Firewall-Tabelle" ) rule_table = rule:option( ListValue, "table" )
rule_table.default = "filter" rule_table.default = "filter"
rule_table.rmempty = true rule_table.rmempty = true
rule_table.optional = true rule_table.optional = true
@ -61,7 +56,7 @@ rule_table:value("mangle")
-- collectd_iptables_match.chain -- collectd_iptables_match.chain
rule_chain = rule:option( ListValue, "chain", "Firewall-Kette (Chain)" ) rule_chain = rule:option( ListValue, "chain" )
rule_chain.rmempty = true rule_chain.rmempty = true
rule_chain.optional = true rule_chain.optional = true
rule_chain:value("") rule_chain:value("")
@ -72,7 +67,7 @@ end
-- collectd_iptables_match.target -- collectd_iptables_match.target
rule_target = rule:option( ListValue, "target", "Firewall-Aktion (Target)" ) rule_target = rule:option( ListValue, "target" )
rule_target.rmempty = true rule_target.rmempty = true
rule_target.optional = true rule_target.optional = true
rule_target:value("") rule_target:value("")
@ -83,7 +78,7 @@ end
-- collectd_iptables_match.protocol -- collectd_iptables_match.protocol
rule_protocol = rule:option( ListValue, "protocol", "Netzwerkprotokoll" ) rule_protocol = rule:option( ListValue, "protocol" )
rule_protocol.rmempty = true rule_protocol.rmempty = true
rule_protocol.optional = true rule_protocol.optional = true
rule_protocol:value("") rule_protocol:value("")
@ -92,29 +87,29 @@ rule_protocol:value("udp")
rule_protocol:value("icmp") rule_protocol:value("icmp")
-- collectd_iptables_match.source -- collectd_iptables_match.source
rule_source = rule:option( Value, "source", "Quell-IP-Bereich", "Bereich in CIDR Notation" ) rule_source = rule:option( Value, "source" )
rule_source.default = "0.0.0.0/0" rule_source.default = "0.0.0.0/0"
rule_source.rmempty = true rule_source.rmempty = true
rule_source.optional = true rule_source.optional = true
-- collectd_iptables_match.destination -- collectd_iptables_match.destination
rule_destination = rule:option( Value, "destination", "Ziel-IP-Bereich", "Bereich in CIDR Notation" ) rule_destination = rule:option( Value, "destination" )
rule_destination.default = "0.0.0.0/0" rule_destination.default = "0.0.0.0/0"
rule_destination.rmempty = true rule_destination.rmempty = true
rule_destination.optional = true rule_destination.optional = true
-- collectd_iptables_match.inputif -- collectd_iptables_match.inputif
rule_inputif = rule:option( Value, "inputif", "eingehende Schnittstelle", "z.B. eth0.0" ) rule_inputif = rule:option( Value, "inputif" )
rule_inputif.rmempty = true rule_inputif.rmempty = true
rule_inputif.optional = true rule_inputif.optional = true
-- collectd_iptables_match.outputif -- collectd_iptables_match.outputif
rule_outputif = rule:option( Value, "outputif", "ausgehende Schnittstelle", "z.B. eth0.1" ) rule_outputif = rule:option( Value, "outputif" )
rule_outputif.rmempty = true rule_outputif.rmempty = true
rule_outputif.optional = true rule_outputif.optional = true
-- collectd_iptables_match.options -- collectd_iptables_match.options
rule_options = rule:option( Value, "options", "Optionen", "z.B. reject-with tcp-reset" ) rule_options = rule:option( Value, "options" )
rule_options.rmempty = true rule_options.rmempty = true
rule_options.optional = true rule_options.optional = true

View file

@ -13,25 +13,22 @@ $Id$
]]-- ]]--
m = Map("luci_statistics", "IRQ Plugin", m = Map("luci_statistics")
[[Das IRQ-Plugin sammelt Informationen zur Auslastung einzelner Interrupts.
Werden keine Interrupts angegeben, überwacht das Plugin alle vorhanden IRQs im System.
]])
-- collectd_irq config section -- collectd_irq config section
s = m:section( NamedSection, "collectd_irq", "luci_statistics", "Pluginkonfiguration" ) s = m:section( NamedSection, "collectd_irq", "luci_statistics" )
-- collectd_irq.enable -- collectd_irq.enable
enable = s:option( Flag, "enable", "Plugin aktivieren" ) enable = s:option( Flag, "enable" )
enable.default = 0 enable.default = 0
-- collectd_irq.irqs (Irq) -- collectd_irq.irqs (Irq)
irqs = s:option( Value, "Irqs", "Überwachte Interrupts", "mehrere mit Leerzeichen trennen" ) irqs = s:option( Value, "Irqs" )
irqs.optional = true irqs.optional = true
irqs:depends( "enable", 1 ) irqs:depends( "enable", 1 )
-- collectd_irq.ignoreselected (IgnoreSelected) -- collectd_irq.ignoreselected (IgnoreSelected)
ignoreselected = s:option( Flag, "IgnoreSelected", "Alle Interrupts außer ausgewählte überwachen" ) ignoreselected = s:option( Flag, "IgnoreSelected" )
ignoreselected.default = 0 ignoreselected.default = 0
ignoreselected.optional = "true" ignoreselected.optional = "true"
ignoreselected:depends( "enable", 1 ) ignoreselected:depends( "enable", 1 )

View file

@ -15,69 +15,75 @@ $Id$
require("luci.sys") require("luci.sys")
local devices = luci.sys.net.devices()
m = Map("luci_statistics", "Interface Plugin",
[[Das Netlink-Plugin sammelt erweiterte Informationen wie Qdisc-, Class- und Filter-Werten auf einzelnen Schnittstellen.]]) m = Map("luci_statistics")
-- collectd_netlink config section -- collectd_netlink config section
s = m:section( NamedSection, "collectd_netlink", "luci_statistics", "Pluginkonfiguration" ) s = m:section( NamedSection, "collectd_netlink", "luci_statistics" )
-- collectd_netlink.enable -- collectd_netlink.enable
enable = s:option( Flag, "enable", "Plugin aktivieren" ) enable = s:option( Flag, "enable" )
enable.default = 0 enable.default = 0
-- collectd_netlink.interfaces (Interface) -- collectd_netlink.interfaces (Interface)
interfaces = s:option( MultiValue, "Interfaces", "einfach Überwachte Schnittstellen", "mehrere Einträge mit Strg selektieren" ) interfaces = s:option( MultiValue, "Interfaces" )
interfaces.widget = "select" interfaces.widget = "select"
interfaces.optional = true interfaces.optional = true
interfaces.size = #devices + 1
interfaces:depends( "enable", 1 ) interfaces:depends( "enable", 1 )
interfaces:value("") interfaces:value("")
for i, v in ipairs(luci.sys.net.devices()) do for i, v in ipairs(devices) do
interfaces:value(v) interfaces:value(v)
end end
-- collectd_netlink.verboseinterfaces (VerboseInterface) -- collectd_netlink.verboseinterfaces (VerboseInterface)
verboseinterfaces = s:option( MultiValue, "VerboseInterfaces", "detailliert Überwachte Schnittstellen", "mehrere Einträge mit Strg selektieren" ) verboseinterfaces = s:option( MultiValue, "VerboseInterfaces" )
verboseinterfaces.widget = "select" verboseinterfaces.widget = "select"
verboseinterfaces.optional = true verboseinterfaces.optional = true
verboseinterfaces.size = #devices + 1
verboseinterfaces:depends( "enable", 1 ) verboseinterfaces:depends( "enable", 1 )
verboseinterfaces:value("") verboseinterfaces:value("")
for i, v in ipairs(luci.sys.net.devices()) do for i, v in ipairs(devices) do
verboseinterfaces:value(v) verboseinterfaces:value(v)
end end
-- collectd_netlink.qdiscs (QDisc) -- collectd_netlink.qdiscs (QDisc)
qdiscs = s:option( MultiValue, "QDiscs", "Queue Discipline auf Schnittstellen Überwachen", "mehrere Einträge mit Strg selektieren" ) qdiscs = s:option( MultiValue, "QDiscs" )
qdiscs.widget = "select" qdiscs.widget = "select"
qdiscs.optional = true qdiscs.optional = true
qdiscs.size = #devices + 1
qdiscs:depends( "enable", 1 ) qdiscs:depends( "enable", 1 )
qdiscs:value("") qdiscs:value("")
for i, v in ipairs(luci.sys.net.devices()) do for i, v in ipairs(devices) do
qdiscs:value(v) qdiscs:value(v)
end end
-- collectd_netlink.classes (Class) -- collectd_netlink.classes (Class)
classs = s:option( MultiValue, "Classes", "Shapingklassen auf Schnittstellen Überwachen", "mehrere Einträge mit Strg selektieren" ) classes = s:option( MultiValue, "Classes" )
classs.widget = "select" classes.widget = "select"
classs.optional = true classes.optional = true
classs:depends( "enable", 1 ) classes.size = #devices + 1
classs:value("") classes:depends( "enable", 1 )
for i, v in ipairs(luci.sys.net.devices()) do classes:value("")
classs:value(v) for i, v in ipairs(devices) do
classes:value(v)
end end
-- collectd_netlink.filters (Filter) -- collectd_netlink.filters (Filter)
filters = s:option( MultiValue, "Filters", "Filterklassen auf Schnittstellen Überwachen", "mehrere Einträge mit Strg selektieren" ) filters = s:option( MultiValue, "Filters" )
filters.widget = "select" filters.widget = "select"
filters.optional = true filters.optional = true
filters.size = #devices + 1
filters:depends( "enable", 1 ) filters:depends( "enable", 1 )
filters:value("") filters:value("")
for i, v in ipairs(luci.sys.net.devices()) do for i, v in ipairs(devices) do
filters:value(v) filters:value(v)
end end
-- collectd_netlink.ignoreselected (IgnoreSelected) -- collectd_netlink.ignoreselected (IgnoreSelected)
ignoreselected = s:option( Flag, "IgnoreSelected", "Alle Schnittstellen außer ausgewählte überwachen" ) ignoreselected = s:option( Flag, "IgnoreSelected" )
ignoreselected.default = 0 ignoreselected.default = 0
ignoreselected:depends( "enable", 1 ) ignoreselected:depends( "enable", 1 )

View file

@ -14,71 +14,66 @@ $Id$
]]-- ]]--
m = Map("luci_statistics", "Network Plugin", m = Map("luci_statistics")
[[Das Network-Plugin ermöglicht den netzwerkgestützen Austausch von Statistikdaten.]])
-- collectd_network config section -- collectd_network config section
s = m:section( NamedSection, "collectd_network", "luci_statistics", "Pluginkonfiguration" ) s = m:section( NamedSection, "collectd_network", "luci_statistics" )
-- collectd_network.enable -- collectd_network.enable
enable = s:option( Flag, "enable", "Plugin aktivieren" ) enable = s:option( Flag, "enable" )
enable.default = 0 enable.default = 0
-- collectd_network_listen config section (Listen) -- collectd_network_listen config section (Listen)
listen = m:section( TypedSection, "collectd_network_listen", "Schnittstellen für eingehende Verbindungen", listen = m:section( TypedSection, "collectd_network_listen" )
[[Legt fest auf welchen Schnittstellen bzw. IP-Adressen collectd auf eingehende Verbindungen wartet.]])
listen.addremove = true listen.addremove = true
listen.anonymous = true listen.anonymous = true
-- collectd_network_listen.host -- collectd_network_listen.host
listen_host = listen:option( Value, "host", "Listen-Host", "Host-, IP- oder IPv6-Adresse" ) listen_host = listen:option( Value, "host" )
listen_host.default = "0.0.0.0" listen_host.default = "0.0.0.0"
-- collectd_network_listen.port -- collectd_network_listen.port
listen_port = listen:option( Value, "port", "Listen-Port", "Partnummer 0 - 65535" ) listen_port = listen:option( Value, "port" )
listen_port.default = 25826 listen_port.default = 25826
listen_port.isinteger = true listen_port.isinteger = true
listen_port.optional = true listen_port.optional = true
-- collectd_network_server config section (Server) -- collectd_network_server config section (Server)
server = m:section( TypedSection, "collectd_network_server", "Schnittstellen für ausgehende Verbindungen", server = m:section( TypedSection, "collectd_network_server" )
[[Legt fest auf welchen Schnittstellen bzw. IP-Adressen collectd als Server agiert.]])
server.addremove = true server.addremove = true
server.anonymous = true server.anonymous = true
-- collectd_network_server.host -- collectd_network_server.host
server_host = server:option( Value, "host", "Server-Host", "Host-, IP- oder IPv6-Adresse" ) server_host = server:option( Value, "host" )
server_host.default = "0.0.0.0" server_host.default = "0.0.0.0"
-- collectd_network_server.port -- collectd_network_server.port
server_port = server:option( Value, "port", "Server-Port", "Partnummer 0 - 65535" ) server_port = server:option( Value, "port" )
server_port.default = 25826 server_port.default = 25826
server_port.isinteger = true server_port.isinteger = true
server_port.optional = true server_port.optional = true
-- collectd_network.timetolive (TimeToLive) -- collectd_network.timetolive (TimeToLive)
ttl = s:option( Value, "TimeToLive", "Time-to-Live für die Pakete", "Werte 0 bis 255" ) ttl = s:option( Value, "TimeToLive" )
ttl.default = 128 ttl.default = 128
ttl.isinteger = true ttl.isinteger = true
ttl.optional = true ttl.optional = true
ttl:depends( "enable", 1 ) ttl:depends( "enable", 1 )
-- collectd_network.forward (Forward) -- collectd_network.forward (Forward)
forward = s:option( Flag, "Forward", "Weiterleitung zwischen verschiedenen Listen- und Server-Adressen" ) forward = s:option( Flag, "Forward" )
forward.default = 0 forward.default = 0
forward.optional = true forward.optional = true
forward:depends( "enable", 1 ) forward:depends( "enable", 1 )
-- collectd_network.forward (CacheFlush) -- collectd_network.cacheflush (CacheFlush)
forward = s:option( Value, "CacheFlush", "Löschintervall für temporäre Daten", "in Sekunden" ) cacheflush = s:option( Value, "CacheFlush" )
forward.default = 86400 cacheflush.default = 86400
forward.isinteger = true cacheflush.isinteger = true
forward.optional = true cacheflush.optional = true
forward:depends( "enable", 1 ) cacheflush:depends( "enable", 1 )
return m return m

View file

@ -13,24 +13,22 @@ $Id$
]]-- ]]--
m = Map("luci_statistics", "Ping Plugin", m = Map("luci_statistics")
[[Das Ping-Plugin veranlasst periodische ICMP-Requests an die angegebenen Adressen und zeichnet
Parameter wie Verfügbarkeit und Antwortzeiten auf.]])
-- collectd_ping config section -- collectd_ping config section
s = m:section( NamedSection, "collectd_ping", "luci_statistics", "Pluginkonfiguration" ) s = m:section( NamedSection, "collectd_ping", "luci_statistics" )
-- collectd_ping.enable -- collectd_ping.enable
enable = s:option( Flag, "enable", "Plugin aktivieren" ) enable = s:option( Flag, "enable" )
enable.default = 0 enable.default = 0
-- collectd_ping.hosts (Host) -- collectd_ping.hosts (Host)
hosts = s:option( Value, "Hosts", "Zieladressen", "Einträge durch Leerzeichen trennen" ) hosts = s:option( Value, "Hosts" )
hosts.default = "127.0.0.1" hosts.default = "127.0.0.1"
hosts:depends( "enable", 1 ) hosts:depends( "enable", 1 )
-- collectd_ping.ttl (TTL) -- collectd_ping.ttl (TTL)
ttl = s:option( Value, "TTL", "Time-to-Live für die ICMP-Pakete (Werte 0 bis 255)" ) ttl = s:option( Value, "TTL" )
ttl.isinteger = true ttl.isinteger = true
ttl.default = 128 ttl.default = 128
ttl:depends( "enable", 1 ) ttl:depends( "enable", 1 )

View file

@ -13,18 +13,17 @@ $Id$
]]-- ]]--
m = Map("luci_statistics", "Processes Plugin", m = Map("luci_statistics")
[[Das Processes-Plugin sammelt Informationen über ausgewählte Prozesse auf diesem Gerät.]])
-- collectd_processes config section -- collectd_processes config section
s = m:section( NamedSection, "collectd_processes", "luci_statistics", "Pluginkonfiguration" ) s = m:section( NamedSection, "collectd_processes", "luci_statistics" )
-- collectd_processes.enable -- collectd_processes.enable
enable = s:option( Flag, "enable", "Plugin aktivieren" ) enable = s:option( Flag, "enable" )
enable.default = 0 enable.default = 0
-- collectd_processes.processes (Process) -- collectd_processes.processes (Process)
processes = s:option( Value, "Processes", "Überwachte Prozesse", "mehrere mit Leerzeichen trennen" ) processes = s:option( Value, "Processes" )
processes.default = "olsrd bmxd httpd dnsmasq dropbear tinc" processes.default = "olsrd bmxd httpd dnsmasq dropbear tinc"
processes:depends( "enable", 1 ) processes:depends( "enable", 1 )

View file

@ -13,29 +13,24 @@ $Id$
]]-- ]]--
m = Map("luci_statistics", "RRDTool Plugin", m = Map("luci_statistics")
[[Das RRDTool-Plugin schreibt die gesammelten Werte in sogenannte RRD Datenbanken, welche die
Grundlage für die Statistik-Diagramme bilden.<br /><br />
<strong>Die Einstellungen auf dieser Seite sollten nur in Ausnahmefällen geändert werden,
falsche Einstellungen führen zu einem sehr hohem Platzverbrauch im Temp-Verzeichnis und das
Gerät kann nur noch im Failsafe-Modus repariert werden!</strong>]])
-- collectd_rrdtool config section -- collectd_rrdtool config section
s = m:section( NamedSection, "collectd_rrdtool", "luci_statistics", "Pluginkonfiguration" ) s = m:section( NamedSection, "collectd_rrdtool", "luci_statistics" )
-- collectd_rrdtool.enable -- collectd_rrdtool.enable
enable = s:option( Flag, "enable", "Plugin aktivieren" ) enable = s:option( Flag, "enable" )
enable.default = 1 enable.default = 1
-- collectd_rrdtool.datadir (DataDir) -- collectd_rrdtool.datadir (DataDir)
datadir = s:option( Value, "DataDir", "Speicherort für die RRD Datenbanken" ) datadir = s:option( Value, "DataDir" )
datadir.default = "/tmp" datadir.default = "/tmp"
datadir.rmempty = true datadir.rmempty = true
datadir.optional = true datadir.optional = true
datadir:depends( "enable", 1 ) datadir:depends( "enable", 1 )
-- collectd_rrdtool.stepsize (StepSize) -- collectd_rrdtool.stepsize (StepSize)
stepsize = s:option( Value, "StepSize", "Schritt-Interval", "in Sekunden" ) stepsize = s:option( Value, "StepSize" )
stepsize.default = 30 stepsize.default = 30
stepsize.isinteger = true stepsize.isinteger = true
stepsize.rmempty = true stepsize.rmempty = true
@ -43,7 +38,7 @@ stepsize.optional = true
stepsize:depends( "enable", 1 ) stepsize:depends( "enable", 1 )
-- collectd_rrdtool.heartbeat (HeartBeat) -- collectd_rrdtool.heartbeat (HeartBeat)
heartbeat = s:option( Value, "HeartBeat", "Heart-Beat-Interval", "in Sekunden" ) heartbeat = s:option( Value, "HeartBeat" )
heartbeat.default = 60 heartbeat.default = 60
heartbeat.isinteger = true heartbeat.isinteger = true
heartbeat.rmempty = true heartbeat.rmempty = true
@ -51,21 +46,21 @@ heartbeat.optional = true
heartbeat:depends( "enable", 1 ) heartbeat:depends( "enable", 1 )
-- collectd_rrdtool.rrasingle (RRASingle) -- collectd_rrdtool.rrasingle (RRASingle)
rrasingle = s:option( Flag, "RRASingle", 'Jeweils nur ein RRA anlegen', "reduziert die Größe der RRDs" ) rrasingle = s:option( Flag, "RRASingle" )
rrasingle.default = true rrasingle.default = true
rrasingle.rmempty = true rrasingle.rmempty = true
rrasingle.optional = true rrasingle.optional = true
rrasingle:depends( "enable", 1 ) rrasingle:depends( "enable", 1 )
-- collectd_rrdtool.rratimespans (RRATimespan) -- collectd_rrdtool.rratimespans (RRATimespan)
rratimespans = s:option( Value, "RRATimespans", "Gespeicherte Zeitspannen", "in Sekunden; mehrere mit Leerzeichen trennen" ) rratimespans = s:option( Value, "RRATimespans" )
rratimespans.default = "600 86400 604800 2678400 31622400" rratimespans.default = "600 86400 604800 2678400 31622400"
rratimespans.rmempty = true rratimespans.rmempty = true
rratimespans.optional = true rratimespans.optional = true
rratimespans:depends( "enable", 1 ) rratimespans:depends( "enable", 1 )
-- collectd_rrdtool.rrarows (RRARows) -- collectd_rrdtool.rrarows (RRARows)
rrarows = s:option( Value, "RRARows", "Anzahl der Datenpunkte pro Zeitspanne" ) rrarows = s:option( Value, "RRARows" )
rrarows.isinteger = true rrarows.isinteger = true
rrarows.default = 100 rrarows.default = 100
rrarows.rmempty = true rrarows.rmempty = true
@ -73,7 +68,7 @@ rrarows.optional = true
rrarows:depends( "enable", 1 ) rrarows:depends( "enable", 1 )
-- collectd_rrdtool.xff (XFF) -- collectd_rrdtool.xff (XFF)
xff = s:option( Value, "XFF", "RRD XFiles Faktor" ) xff = s:option( Value, "XFF" )
xff.default = 0.1 xff.default = 0.1
xff.isnumber = true xff.isnumber = true
xff.rmempty = true xff.rmempty = true
@ -81,7 +76,7 @@ xff.optional = true
xff:depends( "enable", 1 ) xff:depends( "enable", 1 )
-- collectd_rrdtool.cachetimeout (CacheTimeout) -- collectd_rrdtool.cachetimeout (CacheTimeout)
cachetimeout = s:option( Value, "CacheTimeout", "Daten für Zeitspanne cachen", "in Sekunden" ) cachetimeout = s:option( Value, "CacheTimeout" )
cachetimeout.isinteger = true cachetimeout.isinteger = true
cachetimeout.default = 100 cachetimeout.default = 100
cachetimeout.rmempty = true cachetimeout.rmempty = true
@ -89,7 +84,7 @@ cachetimeout.optional = true
cachetimeout:depends( "enable", 1 ) cachetimeout:depends( "enable", 1 )
-- collectd_rrdtool.cacheflush (CacheFlush) -- collectd_rrdtool.cacheflush (CacheFlush)
cacheflush = s:option( Value, "CacheFlush", "Cache nach Zeitspanne leeren", "in Sekunden" ) cacheflush = s:option( Value, "CacheFlush" )
cacheflush.isinteger = true cacheflush.isinteger = true
cacheflush.default = 100 cacheflush.default = 100
cacheflush.rmempty = true cacheflush.rmempty = true

View file

@ -13,28 +13,27 @@ $Id$
]]-- ]]--
m = Map("luci_statistics", "Tcpconns Plugin", m = Map("luci_statistics")
[[Das Tcpconns-Plugin zählt TCP-Verbindungen auf einzelnen Ports.]])
-- collectd_tcpconns config section -- collectd_tcpconns config section
s = m:section( NamedSection, "collectd_tcpconns", "luci_statistics", "Pluginkonfiguration" ) s = m:section( NamedSection, "collectd_tcpconns", "luci_statistics" )
-- collectd_tcpconns.enable -- collectd_tcpconns.enable
enable = s:option( Flag, "enable", "Plugin aktivieren" ) enable = s:option( Flag, "enable" )
enable.default = 0 enable.default = 0
-- collectd_tcpconns.listeningports (ListeningPorts) -- collectd_tcpconns.listeningports (ListeningPorts)
listeningports = s:option( Flag, "ListeningPorts", "Alle von lokalen Diensten genutzen Ports überwachen" ) listeningports = s:option( Flag, "ListeningPorts" )
listeningports.default = 1 listeningports.default = 1
listeningports:depends( "enable", 1 ) listeningports:depends( "enable", 1 )
-- collectd_tcpconns.localports (LocalPort) -- collectd_tcpconns.localports (LocalPort)
localports = s:option( Value, "LocalPorts", "Lokale Ports", "mit Leerzeichen trennen" ) localports = s:option( Value, "LocalPorts" )
localports.optional = true localports.optional = true
localports:depends( "enable", 1 ) localports:depends( "enable", 1 )
-- collectd_tcpconns.remoteports (RemotePort) -- collectd_tcpconns.remoteports (RemotePort)
remoteports = s:option( Value, "RemotePorts", "Entfernte Ports", "mit Leerzeichen trennen" ) remoteports = s:option( Value, "RemotePorts" )
remoteports.optional = true remoteports.optional = true
remoteports:depends( "enable", 1 ) remoteports:depends( "enable", 1 )

View file

@ -13,31 +13,29 @@ $Id$
]]-- ]]--
m = Map("luci_statistics", "Unixsock Plugin", m = Map("luci_statistics")
[[Das Unixsock-Plugin öffnet einen Socket über welchen die gesammelten Werte des
laufenden collectd Prozesses abgefragt werden können.]])
-- collectd_unixsock config section -- collectd_unixsock config section
s = m:section( NamedSection, "collectd_unixsock", "luci_statistics", "Pluginkonfiguration" ) s = m:section( NamedSection, "collectd_unixsock", "luci_statistics" )
-- collectd_unixsock.enable -- collectd_unixsock.enable
enable = s:option( Flag, "enable", "Plugin aktivieren" ) enable = s:option( Flag, "enable" )
enable.default = 0 enable.default = 0
-- collectd_unixsock.socketfile (SocketFile) -- collectd_unixsock.socketfile (SocketFile)
socketfile = s:option( Value, "SocketFile", "Pfad für den Unix-Socket" ) socketfile = s:option( Value, "SocketFile" )
socketfile.default = "/var/run/collect-query.socket" socketfile.default = "/var/run/collect-query.socket"
socketfile:depends( "enable", 1 ) socketfile:depends( "enable", 1 )
-- collectd_unixsock.socketgroup (SocketGroup) -- collectd_unixsock.socketgroup (SocketGroup)
socketgroup = s:option( Value, "SocketGroup", "Dateibesitzergruppe für den Unix-Socket ändern" ) socketgroup = s:option( Value, "SocketGroup" )
socketgroup.default = "nobody" socketgroup.default = "nobody"
socketgroup.rmempty = true socketgroup.rmempty = true
socketgroup.optional = true socketgroup.optional = true
socketgroup:depends( "enable", 1 ) socketgroup:depends( "enable", 1 )
-- collectd_unixsock.socketperms (SocketPerms) -- collectd_unixsock.socketperms (SocketPerms)
socketperms = s:option( Value, "SocketPerms", "Dateiberechtigungen für den Unix-Socket ändern" ) socketperms = s:option( Value, "SocketPerms" )
socketperms.default = "0770" socketperms.default = "0770"
socketperms.rmempty = true socketperms.rmempty = true
socketperms.optional = true socketperms.optional = true

View file

@ -0,0 +1,25 @@
--[[
Luci configuration model for statistics - collectd wireless plugin configuration
(c) 2008 Freifunk Leipzig / Jo-Philipp Wich <xm@leipzig.freifunk.net>
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
$Id$
]]--
m = Map("luci_statistics")
-- collectd_wireless config section
s = m:section( NamedSection, "collectd_wireless", "luci_statistics" )
-- collectd_wireless.enable
enable = s:option( Flag, "enable" )
enable.default = 0
return m