diff options
Diffstat (limited to 'applications/luci-app-statistics/luasrc/model/cbi')
26 files changed, 1369 insertions, 0 deletions
diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/collectd.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/collectd.lua new file mode 100644 index 0000000000..2343854f66 --- /dev/null +++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/collectd.lua @@ -0,0 +1,74 @@ +--[[ + +Luci configuration model for statistics - general collectd 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$ + +]]-- + +require("luci.sys") + + +m = Map("luci_statistics", + translate("Collectd Settings"), + translate( + "Collectd is a small daemon for collecting data from " .. + "various sources through different plugins. On this page " .. + "you can change general settings for the collectd daemon." + )) + +-- general config section +s = m:section( NamedSection, "collectd", "luci_statistics" ) + +-- general.hostname (Hostname) +hostname = s:option( Value, "Hostname", translate("Hostname") ) +hostname.default = luci.sys.hostname() +hostname.optional = true + +-- general.basedir (BaseDir) +basedir = s:option( Value, "BaseDir", translate("Base Directory") ) +basedir.default = "/var/run/collectd" + +-- general.include (Include) +include = s:option( Value, "Include", translate("Directory for sub-configurations") ) +include.default = "/etc/collectd/conf.d/*.conf" + +-- general.plugindir (PluginDir) +plugindir = s:option( Value, "PluginDir", translate("Directory for collectd plugins") ) +plugindir.default = "/usr/lib/collectd/" + +-- general.pidfile (PIDFile) +pidfile = s:option( Value, "PIDFile", translate("Used PID file") ) +pidfile.default = "/var/run/collectd.pid" + +-- general.typesdb (TypesDB) +typesdb = s:option( Value, "TypesDB", translate("Datasets definition file") ) +typesdb.default = "/etc/collectd/types.db" + +-- general.interval (Interval) +interval = s:option( Value, "Interval", translate("Data collection interval"), translate("Seconds") ) +interval.default = 60 +interval.isnumber = true + +-- general.readthreads (ReadThreads) +readthreads = s:option( Value, "ReadThreads", translate("Number of threads for data collection") ) +readthreads.default = 5 +readthreads.isnumber = true + +-- general.fqdnlookup (FQDNLookup) +fqdnlookup = s:option( Flag, "FQDNLookup", translate("Try to lookup fully qualified hostname") ) +fqdnlookup.enabled = "true" +fqdnlookup.disabled = "false" +fqdnlookup.default = "false" +fqdnlookup.optional = true +fqdnlookup:depends( "Hostname", "" ) + + +return m diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/conntrack.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/conntrack.lua new file mode 100644 index 0000000000..81e9c05a55 --- /dev/null +++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/conntrack.lua @@ -0,0 +1,21 @@ +--[[ + +Copyright 2011 Jo-Philipp Wich <xm@subsignal.org> + +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("Conntrack Plugin Configuration"), + translate("The conntrack plugin collects statistics about the number of tracked connections.")) + +s = m:section( NamedSection, "collectd_conntrack", "luci_statistics" ) + +enable = s:option( Flag, "enable", translate("Enable this plugin") ) +enable.default = 0 + +return m diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/cpu.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/cpu.lua new file mode 100644 index 0000000000..26d5f07c84 --- /dev/null +++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/cpu.lua @@ -0,0 +1,27 @@ +--[[ + +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", + translate("CPU Plugin Configuration"), + translate("The cpu plugin collects basic statistics about the processor usage.")) + +-- collectd_cpu config section +s = m:section( NamedSection, "collectd_cpu", "luci_statistics" ) + +-- collectd_cpu.enable +enable = s:option( Flag, "enable", translate("Enable this plugin") ) +enable.default = 0 + +return m diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/csv.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/csv.lua new file mode 100644 index 0000000000..4f5aeef1d0 --- /dev/null +++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/csv.lua @@ -0,0 +1,41 @@ +--[[ + +Luci configuration model for statistics - collectd csv 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", + translate("CSV Plugin Configuration"), + translate( + "The csv plugin stores collected data in csv file format " .. + "for further processing by external programs." + )) + +-- collectd_csv config section +s = m:section( NamedSection, "collectd_csv", "luci_statistics" ) + +-- collectd_csv.enable +enable = s:option( Flag, "enable", translate("Enable this plugin") ) +enable.default = 0 + +-- collectd_csv.datadir (DataDir) +datadir = s:option( Value, "DataDir", translate("Storage directory for the csv files") ) +datadir.default = "127.0.0.1" +datadir:depends( "enable", 1 ) + +-- collectd_csv.storerates (StoreRates) +storerates = s:option( Flag, "StoreRates", translate("Store data values as rates instead of absolute values") ) +storerates.default = 0 +storerates:depends( "enable", 1 ) + +return m + diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/df.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/df.lua new file mode 100644 index 0000000000..1a3245fc04 --- /dev/null +++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/df.lua @@ -0,0 +1,53 @@ +--[[ + +Luci configuration model for statistics - collectd df 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", + translate("DF Plugin Configuration"), + translate( + "The df plugin collects statistics about the disk space " .. + "usage on different devices, mount points or filesystem types." + )) + +-- collectd_df config section +s = m:section( NamedSection, "collectd_df", "luci_statistics" ) + +-- collectd_df.enable +enable = s:option( Flag, "enable", translate("Enable this plugin") ) +enable.default = 0 + +-- collectd_df.devices (Device) +devices = s:option( Value, "Devices", translate("Monitor devices") ) +devices.default = "/dev/mtdblock/4" +devices.optional = true +devices:depends( "enable", 1 ) + +-- collectd_df.mountpoints (MountPoint) +mountpoints = s:option( Value, "MountPoints", translate("Monitor mount points") ) +mountpoints.default = "/overlay" +mountpoints.optional = true +mountpoints:depends( "enable", 1 ) + +-- collectd_df.fstypes (FSType) +fstypes = s:option( Value, "FSTypes", translate("Monitor filesystem types") ) +fstypes.default = "tmpfs" +fstypes.optional = true +fstypes:depends( "enable", 1 ) + +-- collectd_df.ignoreselected (IgnoreSelected) +ignoreselected = s:option( Flag, "IgnoreSelected", translate("Monitor all except specified") ) +ignoreselected.default = 0 +ignoreselected:depends( "enable", 1 ) + +return m diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/disk.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/disk.lua new file mode 100644 index 0000000000..7592b44403 --- /dev/null +++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/disk.lua @@ -0,0 +1,41 @@ +--[[ + +Luci configuration model for statistics - collectd disk 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", + translate("Disk Plugin Configuration"), + translate( + "The disk plugin collects detailled usage statistics " .. + "for selected partitions or whole disks." + )) + +-- collectd_disk config section +s = m:section( NamedSection, "collectd_disk", "luci_statistics" ) + +-- collectd_disk.enable +enable = s:option( Flag, "enable", translate("Enable this plugin") ) +enable.default = 0 + +-- collectd_disk.disks (Disk) +devices = s:option( Value, "Disks", translate("Monitor disks and partitions") ) +devices.default = "hda1 hdb" +devices.rmempty = true +devices:depends( "enable", 1 ) + +-- collectd_disk.ignoreselected (IgnoreSelected) +ignoreselected = s:option( Flag, "IgnoreSelected", translate("Monitor all except specified") ) +ignoreselected.default = 0 +ignoreselected:depends( "enable", 1 ) + +return m diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/dns.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/dns.lua new file mode 100644 index 0000000000..28d9e5de33 --- /dev/null +++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/dns.lua @@ -0,0 +1,48 @@ +--[[ + +Luci configuration model for statistics - collectd dns 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$ + +]]-- + +require("luci.sys") + + +m = Map("luci_statistics", + translate("DNS Plugin Configuration"), + translate( + "The dns plugin collects detailled statistics about dns " .. + "related traffic on selected interfaces." + )) + +-- collectd_dns config section +s = m:section( NamedSection, "collectd_dns", "luci_statistics" ) + +-- collectd_dns.enable +enable = s:option( Flag, "enable", translate("Enable this plugin") ) +enable.default = 0 + +-- collectd_dns.interfaces (Interface) +interfaces = s:option( MultiValue, "Interfaces", translate("Monitor interfaces") ) +interfaces.widget = "select" +interfaces.size = 5 +interfaces:depends( "enable", 1 ) +interfaces:value("any") +for k, v in pairs(luci.sys.net.devices()) do + interfaces:value(v) +end + +-- collectd_dns.ignoresources (IgnoreSource) +ignoresources = s:option( Value, "IgnoreSources", translate("Ignore source addresses") ) +ignoresources.default = "127.0.0.1" +ignoresources:depends( "enable", 1 ) + +return m diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/email.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/email.lua new file mode 100644 index 0000000000..c5733d8cf8 --- /dev/null +++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/email.lua @@ -0,0 +1,60 @@ +--[[ + +Luci configuration model for statistics - collectd email 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", + translate("E-Mail Plugin Configuration"), + translate( + "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." + )) + +-- collectd_email config section +s = m:section( NamedSection, "collectd_email", "luci_statistics" ) + +-- collectd_email.enable +enable = s:option( Flag, "enable", translate("Enable this plugin") ) +enable.default = 0 + +-- collectd_email.socketfile (SocketFile) +socketfile = s:option( Value, "SocketFile", translate("Socket file") ) +socketfile.default = "/var/run/collect-email.sock" +socketfile:depends( "enable", 1 ) + +-- collectd_email.socketgroup (SocketGroup) +socketgroup = s:option( Value, "SocketGroup", translate("Socket group") ) +socketgroup.default = "nobody" +socketgroup.rmempty = true +socketgroup.optional = true +socketgroup:depends( "enable", 1 ) + +-- collectd_email.socketperms (SocketPerms) +socketperms = s:option( Value, "SocketPerms", translate("Socket permissions") ) +socketperms.default = "0770" +socketperms.rmempty = true +socketperms.optional = true +socketperms:depends( "enable", 1 ) + +-- collectd_email.maxconns (MaxConns) +maxconns = s:option( Value, "MaxConns", translate("Maximum allowed connections") ) +maxconns.default = 5 +maxconns.isinteger = true +maxconns.rmempty = true +maxconns.optional = true +maxconns:depends( "enable", 1 ) + +return m diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/exec.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/exec.lua new file mode 100644 index 0000000000..997d455d9a --- /dev/null +++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/exec.lua @@ -0,0 +1,89 @@ +--[[ + +Luci configuration model for statistics - collectd exec 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", + translate("Exec Plugin Configuration"), + translate( + "The exec plugin starts external commands to read values " .. + "from or to notify external processes when certain threshold " .. + "values have been reached." + )) + +-- collectd_exec config section +s = m:section( NamedSection, "collectd_exec", "luci_statistics" ) + +-- collectd_exec.enable +enable = s:option( Flag, "enable", translate("Enable this plugin") ) +enable.default = 0 + + +-- collectd_exec_input config section (Exec directives) +exec = m:section( TypedSection, "collectd_exec_input", + translate("Add command for reading values"), + translate( + "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." + )) +exec.addremove = true +exec.anonymous = true + +-- collectd_exec_input.cmdline +exec_cmdline = exec:option( Value, "cmdline", translate("Script") ) +exec_cmdline.default = "/usr/bin/stat-dhcpusers" + +-- collectd_exec_input.cmdline +exec_cmduser = exec:option( Value, "cmduser", translate("User") ) +exec_cmduser.default = "nobody" +exec_cmduser.rmempty = true +exec_cmduser.optional = true + +-- collectd_exec_input.cmdline +exec_cmdgroup = exec:option( Value, "cmdgroup", translate("Group") ) +exec_cmdgroup.default = "nogroup" +exec_cmdgroup.rmempty = true +exec_cmdgroup.optional = true + + +-- collectd_exec_notify config section (NotifyExec directives) +notify = m:section( TypedSection, "collectd_exec_notify", + translate("Add notification command"), + translate( + "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." + )) +notify.addremove = true +notify.anonymous = true + +-- collectd_notify_input.cmdline +notify_cmdline = notify:option( Value, "cmdline", translate("Script") ) +notify_cmdline.default = "/usr/bin/stat-dhcpusers" + +-- collectd_notify_input.cmdline +notify_cmduser = notify:option( Value, "cmduser", translate("User") ) +notify_cmduser.default = "nobody" +notify_cmduser.rmempty = true +notify_cmduser.optional = true + +-- collectd_notify_input.cmdline +notify_cmdgroup = notify:option( Value, "cmdgroup", translate("Group") ) +notify_cmdgroup.default = "nogroup" +notify_cmdgroup.rmempty = true +notify_cmdgroup.optional = true + + +return m diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/interface.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/interface.lua new file mode 100644 index 0000000000..dbb3e9dc06 --- /dev/null +++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/interface.lua @@ -0,0 +1,47 @@ +--[[ + +Luci configuration model for statistics - collectd interface 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$ + +]]-- + +require("luci.sys") + + +m = Map("luci_statistics", + translate("Interface Plugin Configuration"), + translate( + "The interface plugin collects traffic statistics on " .. + "selected interfaces." + )) + +-- collectd_interface config section +s = m:section( NamedSection, "collectd_interface", "luci_statistics" ) + +-- collectd_interface.enable +enable = s:option( Flag, "enable", translate("Enable this plugin") ) +enable.default = 0 + +-- collectd_interface.interfaces (Interface) +interfaces = s:option( MultiValue, "Interfaces", translate("Monitor interfaces") ) +interfaces.widget = "select" +interfaces.size = 5 +interfaces:depends( "enable", 1 ) +for k, v in pairs(luci.sys.net.devices()) do + interfaces:value(v) +end + +-- collectd_interface.ignoreselected (IgnoreSelected) +ignoreselected = s:option( Flag, "IgnoreSelected", translate("Monitor all except specified") ) +ignoreselected.default = 0 +ignoreselected:depends( "enable", 1 ) + +return m diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/iptables.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/iptables.lua new file mode 100644 index 0000000000..1f7341c46e --- /dev/null +++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/iptables.lua @@ -0,0 +1,132 @@ +--[[ + +Luci configuration model for statistics - collectd iptables 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$ + +]]-- + +require("luci.sys.iptparser") + +ip = luci.sys.iptparser.IptParser() +chains = { } +targets = { } + +for i, rule in ipairs( ip:find() ) do + if rule.chain and rule.target then + chains[rule.chain] = true + targets[rule.target] = true + end +end + + +m = Map("luci_statistics", + translate("Iptables Plugin Configuration"), + translate( + "The iptables plugin will monitor selected firewall rules and " .. + "collect informations about processed bytes and packets per rule." + )) + +-- collectd_iptables config section +s = m:section( NamedSection, "collectd_iptables", "luci_statistics" ) + +-- collectd_iptables.enable +enable = s:option( Flag, "enable", translate("Enable this plugin") ) +enable.default = 0 + + +-- collectd_iptables_match config section (Chain directives) +rule = m:section( TypedSection, "collectd_iptables_match", + translate("Add matching rule"), + translate( + "Here you can define various criteria by which the monitored " .. + "iptables rules are selected." + )) +rule.addremove = true +rule.anonymous = true + + +-- collectd_iptables_match.name +rule_table = rule:option( Value, "name", + translate("Name of the rule"), translate("max. 16 chars") ) + +-- collectd_iptables_match.table +rule_table = rule:option( ListValue, "table", translate("Table") ) +rule_table.default = "filter" +rule_table.rmempty = true +rule_table.optional = true +rule_table:value("") +rule_table:value("filter") +rule_table:value("nat") +rule_table:value("mangle") + + +-- collectd_iptables_match.chain +rule_chain = rule:option( ListValue, "chain", translate("Chain") ) +rule_chain.rmempty = true +rule_chain.optional = true +rule_chain:value("") + +for chain, void in pairs( chains ) do + rule_chain:value( chain ) +end + + +-- collectd_iptables_match.target +rule_target = rule:option( ListValue, "target", translate("Action (target)") ) +rule_target.rmempty = true +rule_target.optional = true +rule_target:value("") + +for target, void in pairs( targets ) do + rule_target:value( target ) +end + + +-- collectd_iptables_match.protocol +rule_protocol = rule:option( ListValue, "protocol", translate("Network protocol") ) +rule_protocol.rmempty = true +rule_protocol.optional = true +rule_protocol:value("") +rule_protocol:value("tcp") +rule_protocol:value("udp") +rule_protocol:value("icmp") + +-- collectd_iptables_match.source +rule_source = rule:option( Value, "source", translate("Source ip range") ) +rule_source.default = "0.0.0.0/0" +rule_source.rmempty = true +rule_source.optional = true + +-- collectd_iptables_match.destination +rule_destination = rule:option( Value, "destination", translate("Destination ip range") ) +rule_destination.default = "0.0.0.0/0" +rule_destination.rmempty = true +rule_destination.optional = true + +-- collectd_iptables_match.inputif +rule_inputif = rule:option( Value, "inputif", + translate("Incoming interface"), translate("e.g. br-lan") ) +rule_inputif.rmempty = true +rule_inputif.optional = true + +-- collectd_iptables_match.outputif +rule_outputif = rule:option( Value, "outputif", + translate("Outgoing interface"), translate("e.g. br-ff") ) +rule_outputif.rmempty = true +rule_outputif.optional = true + +-- collectd_iptables_match.options +rule_options = rule:option( Value, "options", + translate("Options"), translate("e.g. reject-with tcp-reset") ) +rule_options.rmempty = true +rule_options.optional = true + +return m diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/irq.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/irq.lua new file mode 100644 index 0000000000..d6aa2e96c3 --- /dev/null +++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/irq.lua @@ -0,0 +1,42 @@ +--[[ + +Luci configuration model for statistics - collectd irq 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", + translate("IRQ Plugin Configuration"), + translate( + "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." + )) + +-- collectd_irq config section +s = m:section( NamedSection, "collectd_irq", "luci_statistics" ) + +-- collectd_irq.enable +enable = s:option( Flag, "enable", translate("Enable this plugin") ) +enable.default = 0 + +-- collectd_irq.irqs (Irq) +irqs = s:option( Value, "Irqs", translate("Monitor interrupts") ) +irqs.optional = true +irqs:depends( "enable", 1 ) + +-- collectd_irq.ignoreselected (IgnoreSelected) +ignoreselected = s:option( Flag, "IgnoreSelected", translate("Monitor all except specified") ) +ignoreselected.default = 0 +ignoreselected.optional = "true" +ignoreselected:depends( "enable", 1 ) + +return m diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/iwinfo.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/iwinfo.lua new file mode 100644 index 0000000000..5e9340dc46 --- /dev/null +++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/iwinfo.lua @@ -0,0 +1,38 @@ +--[[ + +Luci configuration model for statistics - collectd interface plugin configuration +(c) 2011 Jo-Philipp Wich <xm@subsignal.org> + +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$ + +]]-- + +local m, s, o + +m = Map("luci_statistics", + translate("Wireless iwinfo Plugin Configuration"), + translate("The iwinfo plugin collects statistics about wireless signal strength, noise and quality.")) + +s = m:section(NamedSection, "collectd_iwinfo", "luci_statistics") + +o = s:option(Flag, "enable", translate("Enable this plugin")) +o.default = 0 + +o = s:option(Value, "Interfaces", translate("Monitor interfaces"), + translate("Leave unselected to automatically determine interfaces to monitor.")) +o.template = "cbi/network_ifacelist" +o.widget = "checkbox" +o.nocreate = true +o:depends("enable", 1) + +o = s:option(Flag, "IgnoreSelected", translate("Monitor all except specified")) +o.default = 0 +o:depends("enable", 1) + +return m diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/load.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/load.lua new file mode 100644 index 0000000000..e59a4b8f7e --- /dev/null +++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/load.lua @@ -0,0 +1,29 @@ +--[[ + +Luci configuration model for statistics - collectd load 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", + translate("Load Plugin Configuration"), + translate( + "The load plugin collects statistics about the general system load." + )) + +-- collectd_wireless config section +s = m:section( NamedSection, "collectd_load", "luci_statistics" ) + +-- collectd_wireless.enable +enable = s:option( Flag, "enable", translate("Enable this plugin") ) +enable.default = 0 + +return m diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/memory.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/memory.lua new file mode 100644 index 0000000000..5510a5a8e8 --- /dev/null +++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/memory.lua @@ -0,0 +1,21 @@ +--[[ + +Copyright 2011 Manuel Munz <freifunk at somakoma dot de> + +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("Memory Plugin Configuration"), + translate("The memory plugin collects statistics about the memory usage.")) + +s = m:section( NamedSection, "collectd_memory", "luci_statistics" ) + +enable = s:option( Flag, "enable", translate("Enable this plugin") ) +enable.default = 0 + +return m diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/netlink.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/netlink.lua new file mode 100644 index 0000000000..3417d0902d --- /dev/null +++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/netlink.lua @@ -0,0 +1,95 @@ +--[[ + +Luci configuration model for statistics - collectd netlink 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$ + +]]-- + +require("luci.sys") + +local devices = luci.sys.net.devices() + + +m = Map("luci_statistics", + translate("Netlink Plugin Configuration"), + translate( + "The netlink plugin collects extended informations like " .. + "qdisc-, class- and filter-statistics for selected interfaces." + )) + +-- collectd_netlink config section +s = m:section( NamedSection, "collectd_netlink", "luci_statistics" ) + +-- collectd_netlink.enable +enable = s:option( Flag, "enable", translate("Enable this plugin") ) +enable.default = 0 + +-- collectd_netlink.interfaces (Interface) +interfaces = s:option( MultiValue, "Interfaces", translate("Basic monitoring") ) +interfaces.widget = "select" +interfaces.optional = true +interfaces.size = #devices + 1 +interfaces:depends( "enable", 1 ) +interfaces:value("") +for i, v in ipairs(devices) do + interfaces:value(v) +end + +-- collectd_netlink.verboseinterfaces (VerboseInterface) +verboseinterfaces = s:option( MultiValue, "VerboseInterfaces", translate("Verbose monitoring") ) +verboseinterfaces.widget = "select" +verboseinterfaces.optional = true +verboseinterfaces.size = #devices + 1 +verboseinterfaces:depends( "enable", 1 ) +verboseinterfaces:value("") +for i, v in ipairs(devices) do + verboseinterfaces:value(v) +end + +-- collectd_netlink.qdiscs (QDisc) +qdiscs = s:option( MultiValue, "QDiscs", translate("Qdisc monitoring") ) +qdiscs.widget = "select" +qdiscs.optional = true +qdiscs.size = #devices + 1 +qdiscs:depends( "enable", 1 ) +qdiscs:value("") +for i, v in ipairs(devices) do + qdiscs:value(v) +end + +-- collectd_netlink.classes (Class) +classes = s:option( MultiValue, "Classes", translate("Shaping class monitoring") ) +classes.widget = "select" +classes.optional = true +classes.size = #devices + 1 +classes:depends( "enable", 1 ) +classes:value("") +for i, v in ipairs(devices) do + classes:value(v) +end + +-- collectd_netlink.filters (Filter) +filters = s:option( MultiValue, "Filters", translate("Filter class monitoring") ) +filters.widget = "select" +filters.optional = true +filters.size = #devices + 1 +filters:depends( "enable", 1 ) +filters:value("") +for i, v in ipairs(devices) do + filters:value(v) +end + +-- collectd_netlink.ignoreselected (IgnoreSelected) +ignoreselected = s:option( Flag, "IgnoreSelected", translate("Monitor all except specified") ) +ignoreselected.default = 0 +ignoreselected:depends( "enable", 1 ) + +return m diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/network.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/network.lua new file mode 100644 index 0000000000..8a0068973e --- /dev/null +++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/network.lua @@ -0,0 +1,98 @@ +--[[ + +Luci configuration model for statistics - collectd network 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", + translate("Network Plugin Configuration"), + translate( + "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." + )) + +-- collectd_network config section +s = m:section( NamedSection, "collectd_network", "luci_statistics" ) + +-- collectd_network.enable +enable = s:option( Flag, "enable", translate("Enable this plugin") ) +enable.default = 0 + + +-- collectd_network_listen config section (Listen) +listen = m:section( TypedSection, "collectd_network_listen", + translate("Listener interfaces"), + translate( + "This section defines on which interfaces collectd will wait " .. + "for incoming connections." + )) +listen.addremove = true +listen.anonymous = true + +-- collectd_network_listen.host +listen_host = listen:option( Value, "host", translate("Listen host") ) +listen_host.default = "0.0.0.0" + +-- collectd_network_listen.port +listen_port = listen:option( Value, "port", translate("Listen port") ) +listen_port.default = 25826 +listen_port.isinteger = true +listen_port.optional = true + + +-- collectd_network_server config section (Server) +server = m:section( TypedSection, "collectd_network_server", + translate("server interfaces"), + translate( + "This section defines to which servers the locally collected " .. + "data is sent to." + )) +server.addremove = true +server.anonymous = true + +-- collectd_network_server.host +server_host = server:option( Value, "host", translate("Server host") ) +server_host.default = "0.0.0.0" + +-- collectd_network_server.port +server_port = server:option( Value, "port", translate("Server port") ) +server_port.default = 25826 +server_port.isinteger = true +server_port.optional = true + +-- collectd_network.timetolive (TimeToLive) +ttl = s:option( Value, "TimeToLive", translate("TTL for network packets") ) +ttl.default = 128 +ttl.isinteger = true +ttl.optional = true +ttl:depends( "enable", 1 ) + +-- collectd_network.forward (Forward) +forward = s:option( Flag, "Forward", translate("Forwarding between listen and server addresses") ) +forward.default = 0 +forward.optional = true +forward:depends( "enable", 1 ) + +-- collectd_network.cacheflush (CacheFlush) +cacheflush = s:option( Value, "CacheFlush", + translate("Cache flush interval"), translate("Seconds") ) +cacheflush.default = 86400 +cacheflush.isinteger = true +cacheflush.optional = true +cacheflush:depends( "enable", 1 ) + + +return m diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/nut.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/nut.lua new file mode 100644 index 0000000000..ad030718cf --- /dev/null +++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/nut.lua @@ -0,0 +1,28 @@ +--[[ +LuCI - Lua Configuration Interface + +Copyright © 2011 Manuel Munz <freifunk at somakoma dot de> +Copyright © 2012 David Woodhouse <dwmw2@infradead.org> + +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("UPS Plugin Configuration"), + translate("The NUT plugin reads information about Uninterruptible Power Supplies.")) + +s = m:section(NamedSection, "collectd_nut", "luci_statistics" ) + +enable = s:option(Flag, "enable", translate("Enable this plugin")) +enable.default = 0 + +host = s:option(Value, "UPS", translate("UPS"), translate("UPS name in NUT ups@host format")) +host.placeholder = "myupsname" +host.datatype = "string" +host.rmempty = true + +return m diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/olsrd.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/olsrd.lua new file mode 100644 index 0000000000..e3eb7b2c4b --- /dev/null +++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/olsrd.lua @@ -0,0 +1,54 @@ +--[[ +LuCI - Lua Configuration Interface + +Copyright 2011 Manuel Munz <freifunk at somakoma dot de> + +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("OLSRd Plugin Configuration"), + translate("The OLSRd plugin reads information about meshed networks from the txtinfo plugin of OLSRd.")) + +s = m:section(NamedSection, "collectd_olsrd", "luci_statistics" ) + +enable = s:option(Flag, "enable", translate("Enable this plugin")) +enable.default = 0 + +host = s:option(Value, "Host", translate("Host"), translate("IP or hostname where to get the txtinfo output from")) +host.placeholder = "127.0.0.1" +host.datatype = "host" +host.rmempty = true + +port = s:option(Value, "Port", translate("Port")) +port.placeholder = "2006" +port.datatype = "range(0,65535)" +port.rmempty = true +port.cast = "string" + +cl = s:option(ListValue, "CollectLinks", translate("CollectLinks"), + translate("Specifies what information to collect about links.")) +cl:value("No") +cl:value("Summary") +cl:value("Detail") +cl.default = "Detail" + +cr = s:option(ListValue, "CollectRoutes", translate("CollectRoutes"), + translate("Specifies what information to collect about routes.")) +cr:value("No") +cr:value("Summary") +cr:value("Detail") +cr.default = "Summary" + +ct = s:option(ListValue, "CollectTopology", translate("CollectTopology"), + translate("Specifies what information to collect about the global topology.")) +ct:value("No") +ct:value("Summary") +ct:value("Detail") +ct.default = "Summary" + +return m diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/ping.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/ping.lua new file mode 100644 index 0000000000..c55ac87368 --- /dev/null +++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/ping.lua @@ -0,0 +1,47 @@ +--[[ + +Luci configuration model for statistics - collectd ping 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", + translate("Ping Plugin Configuration"), + translate( + "The ping plugin will send icmp echo replies to selected " .. + "hosts and measure the roundtrip time for each host." + )) + +-- collectd_ping config section +s = m:section( NamedSection, "collectd_ping", "luci_statistics" ) + +-- collectd_ping.enable +enable = s:option( Flag, "enable", translate("Enable this plugin") ) +enable.default = 0 + +-- collectd_ping.hosts (Host) +hosts = s:option( Value, "Hosts", translate("Monitor hosts"), translate ("Add multiple hosts separated by space.")) +hosts.default = "127.0.0.1" +hosts:depends( "enable", 1 ) + +-- collectd_ping.ttl (TTL) +ttl = s:option( Value, "TTL", translate("TTL for ping packets") ) +ttl.isinteger = true +ttl.default = 128 +ttl:depends( "enable", 1 ) + +-- collectd_ping.interval (Interval) +interval = s:option( Value, "Interval", translate("Interval for pings"), translate ("Seconds") ) +interval.isinteger = true +interval.default = 30 +interval:depends( "enable", 1 ) + +return m diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/processes.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/processes.lua new file mode 100644 index 0000000000..3aea6b3c71 --- /dev/null +++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/processes.lua @@ -0,0 +1,36 @@ +--[[ + +Luci configuration model for statistics - collectd processes 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", + translate("Processes Plugin Configuration"), + translate( + "The processes plugin collects informations like cpu time, " .. + "page faults and memory usage of selected processes." + )) + +-- collectd_processes config section +s = m:section( NamedSection, "collectd_processes", "luci_statistics" ) + +-- collectd_processes.enable +enable = s:option( Flag, "enable", translate("Enable this plugin") ) +enable.default = 0 + +-- collectd_processes.processes (Process) +processes = s:option( Value, "Processes", translate("Monitor processes"), + translate("Processes to monitor separated by space") ) +processes:depends( "enable", 1 ) +processes.default = "uhttpd dropbear dnsmasq" + +return m diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/rrdtool.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/rrdtool.lua new file mode 100644 index 0000000000..75716341c8 --- /dev/null +++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/rrdtool.lua @@ -0,0 +1,108 @@ +--[[ + +Luci configuration model for statistics - collectd rrdtool 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", + translate("RRDTool Plugin Configuration"), + translate( + "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>" + )) + +-- collectd_rrdtool config section +s = m:section( NamedSection, "collectd_rrdtool", "luci_statistics" ) + +-- collectd_rrdtool.enable +enable = s:option( Flag, "enable", translate("Enable this plugin") ) +enable.default = 1 + +-- collectd_rrdtool.datadir (DataDir) +datadir = s:option( Value, "DataDir", translate("Storage directory") ) +datadir.default = "/tmp" +datadir.rmempty = true +datadir.optional = true +datadir:depends( "enable", 1 ) + +-- collectd_rrdtool.stepsize (StepSize) +stepsize = s:option( Value, "StepSize", + translate("RRD step interval"), translate("Seconds") ) +stepsize.default = 30 +stepsize.isinteger = true +stepsize.rmempty = true +stepsize.optional = true +stepsize:depends( "enable", 1 ) + +-- collectd_rrdtool.heartbeat (HeartBeat) +heartbeat = s:option( Value, "HeartBeat", + translate("RRD heart beat interval"), translate("Seconds") ) +heartbeat.default = 60 +heartbeat.isinteger = true +heartbeat.rmempty = true +heartbeat.optional = true +heartbeat:depends( "enable", 1 ) + +-- collectd_rrdtool.rrasingle (RRASingle) +rrasingle = s:option( Flag, "RRASingle", + translate("Only create average RRAs"), translate("reduces rrd size") ) +rrasingle.default = true +rrasingle.rmempty = true +rrasingle.optional = true +rrasingle:depends( "enable", 1 ) + +-- collectd_rrdtool.rratimespans (RRATimespan) +rratimespans = s:option( Value, "RRATimespans", + translate("Stored timespans"), translate("seconds; multiple separated by space") ) +rratimespans.default = "600 86400 604800 2678400 31622400" +rratimespans.rmempty = true +rratimespans.optional = true +rratimespans:depends( "enable", 1 ) + +-- collectd_rrdtool.rrarows (RRARows) +rrarows = s:option( Value, "RRARows", translate("Rows per RRA") ) +rrarows.isinteger = true +rrarows.default = 100 +rrarows.rmempty = true +rrarows.optional = true +rrarows:depends( "enable", 1 ) + +-- collectd_rrdtool.xff (XFF) +xff = s:option( Value, "XFF", translate("RRD XFiles Factor") ) +xff.default = 0.1 +xff.isnumber = true +xff.rmempty = true +xff.optional = true +xff:depends( "enable", 1 ) + +-- collectd_rrdtool.cachetimeout (CacheTimeout) +cachetimeout = s:option( Value, "CacheTimeout", + translate("Cache collected data for"), translate("Seconds") ) +cachetimeout.isinteger = true +cachetimeout.default = 100 +cachetimeout.rmempty = true +cachetimeout.optional = true +cachetimeout:depends( "enable", 1 ) + +-- collectd_rrdtool.cacheflush (CacheFlush) +cacheflush = s:option( Value, "CacheFlush", + translate("Flush cache after"), translate("Seconds") ) +cacheflush.isinteger = true +cacheflush.default = 100 +cacheflush.rmempty = true +cacheflush.optional = true +cacheflush:depends( "enable", 1 ) + +return m diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/splash_leases.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/splash_leases.lua new file mode 100644 index 0000000000..a15ed0ecce --- /dev/null +++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/splash_leases.lua @@ -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-app-statistics/luasrc/model/cbi/luci_statistics/tcpconns.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/tcpconns.lua new file mode 100644 index 0000000000..9d0f6e137c --- /dev/null +++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/tcpconns.lua @@ -0,0 +1,45 @@ +--[[ + +Luci configuration model for statistics - collectd tcpconns 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", + translate("TCPConns Plugin Configuration"), + translate( + "The tcpconns plugin collects informations about open tcp " .. + "connections on selected ports." + )) + +-- collectd_tcpconns config section +s = m:section( NamedSection, "collectd_tcpconns", "luci_statistics" ) + +-- collectd_tcpconns.enable +enable = s:option( Flag, "enable", translate("Enable this plugin") ) +enable.default = 0 + +-- collectd_tcpconns.listeningports (ListeningPorts) +listeningports = s:option( Flag, "ListeningPorts", translate("Monitor all local listen ports") ) +listeningports.default = 1 +listeningports:depends( "enable", 1 ) + +-- collectd_tcpconns.localports (LocalPort) +localports = s:option( Value, "LocalPorts", translate("Monitor local ports") ) +localports.optional = true +localports:depends( "enable", 1 ) + +-- collectd_tcpconns.remoteports (RemotePort) +remoteports = s:option( Value, "RemotePorts", translate("Monitor remote ports") ) +remoteports.optional = true +remoteports:depends( "enable", 1 ) + +return m diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/unixsock.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/unixsock.lua new file mode 100644 index 0000000000..cbd52ec1fe --- /dev/null +++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/unixsock.lua @@ -0,0 +1,49 @@ +--[[ + +Luci configuration model for statistics - collectd unixsock 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", + translate("Unixsock Plugin Configuration"), + translate( + "The unixsock plugin creates a unix socket which can be used " .. + "to read collected data from a running collectd instance." + )) + +-- collectd_unixsock config section +s = m:section( NamedSection, "collectd_unixsock", "luci_statistics" ) + +-- collectd_unixsock.enable +enable = s:option( Flag, "enable", translate("Enable this plugin") ) +enable.default = 0 + +-- collectd_unixsock.socketfile (SocketFile) +socketfile = s:option( Value, "SocketFile" ) +socketfile.default = "/var/run/collect-query.socket" +socketfile:depends( "enable", 1 ) + +-- collectd_unixsock.socketgroup (SocketGroup) +socketgroup = s:option( Value, "SocketGroup" ) +socketgroup.default = "nobody" +socketgroup.rmempty = true +socketgroup.optional = true +socketgroup:depends( "enable", 1 ) + +-- collectd_unixsock.socketperms (SocketPerms) +socketperms = s:option( Value, "SocketPerms" ) +socketperms.default = "0770" +socketperms.rmempty = true +socketperms.optional = true +socketperms:depends( "enable", 1 ) + +return m diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/uptime.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/uptime.lua new file mode 100644 index 0000000000..3a6c4644e3 --- /dev/null +++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/uptime.lua @@ -0,0 +1,22 @@ +--[[ + +Copyright 2013 Thomas Endt <tmo26@gmx.de> + +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("Uptime Plugin Configuration"), + translate("The uptime plugin collects statistics about the uptime of the system.")) + +s = m:section( NamedSection, "collectd_uptime", "luci_statistics" ) + +enable = s:option( Flag, "enable", translate("Enable this plugin") ) +enable.default = 0 + +return m + |