Add NUT UPS support to luci-statistics
This commit is contained in:
parent
2138efa4bd
commit
5a54cc575a
5 changed files with 143 additions and 0 deletions
|
@ -50,6 +50,7 @@ function index()
|
||||||
memory = _("Memory"),
|
memory = _("Memory"),
|
||||||
netlink = _("Netlink"),
|
netlink = _("Netlink"),
|
||||||
network = _("Network"),
|
network = _("Network"),
|
||||||
|
nut = _("UPS"),
|
||||||
olsrd = _("OLSRd"),
|
olsrd = _("OLSRd"),
|
||||||
ping = _("Ping"),
|
ping = _("Ping"),
|
||||||
processes = _("Processes"),
|
processes = _("Processes"),
|
||||||
|
|
|
@ -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
|
|
@ -0,0 +1,104 @@
|
||||||
|
--[[
|
||||||
|
|
||||||
|
Luci statistics - ups plugin diagram definition
|
||||||
|
Copyright © 2008 Freifunk Leipzig / Jo-Philipp Wich <xm@leipzig.freifunk.net>
|
||||||
|
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
|
||||||
|
|
||||||
|
]]--
|
||||||
|
|
||||||
|
|
||||||
|
module("luci.statistics.rrdtool.definitions.nut",package.seeall)
|
||||||
|
|
||||||
|
function rrdargs( graph, plugin, plugin_instance, dtype )
|
||||||
|
|
||||||
|
local voltages = {
|
||||||
|
title = "%H: Voltages on UPS \"%pi\"",
|
||||||
|
vlabel = "V",
|
||||||
|
number_format = "%5.1lfV",
|
||||||
|
data = {
|
||||||
|
instances = {
|
||||||
|
voltage = { "battery", "input", "output" }
|
||||||
|
},
|
||||||
|
|
||||||
|
options = {
|
||||||
|
voltage_output = { color = "00e000", title = "Output voltage", noarea=true, overlay=true },
|
||||||
|
voltage_battery = { color = "0000ff", title = "Battery voltage", noarea=true, overlay=true },
|
||||||
|
voltage_input = { color = "ffb000", title = "Input voltage", noarea=true, overlay=true }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
local currents = {
|
||||||
|
title = "%H: Current on UPS \"%pi\"",
|
||||||
|
vlabel = "A",
|
||||||
|
number_format = "%5.3lfA",
|
||||||
|
data = {
|
||||||
|
instances = {
|
||||||
|
current = { "battery", "output" }
|
||||||
|
},
|
||||||
|
|
||||||
|
options = {
|
||||||
|
current_output = { color = "00e000", title = "Output current", noarea=true, overlay=true },
|
||||||
|
current_battery = { color = "0000ff", title = "Battery current", noarea=true, overlay=true },
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
local percentage = {
|
||||||
|
title = "%H: Battery charge on UPS \"%pi\"",
|
||||||
|
vlabel = "Percent",
|
||||||
|
number_format = "%5.1lf%%",
|
||||||
|
data = {
|
||||||
|
sources = {
|
||||||
|
percent = { "percent" }
|
||||||
|
},
|
||||||
|
instances = {
|
||||||
|
percent = "charge"
|
||||||
|
},
|
||||||
|
options = {
|
||||||
|
percent_charge = { color = "00ff00", title = "Charge level" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Note: This is in ISO8859-1 for rrdtool. Welcome to the 20th century.
|
||||||
|
local temperature = {
|
||||||
|
title = "%H: Battery temperature on UPS \"%pi\"",
|
||||||
|
vlabel = "\176C",
|
||||||
|
number_format = "%5.1lf\176C",
|
||||||
|
data = {
|
||||||
|
instances = {
|
||||||
|
temperature = "battery"
|
||||||
|
},
|
||||||
|
|
||||||
|
options = {
|
||||||
|
temperature_battery = { color = "ffb000", title = "Battery temperature" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
local timeleft = {
|
||||||
|
title = "%H: Time left on UPS \"%pi\"",
|
||||||
|
vlabel = "seconds",
|
||||||
|
number_format = "%7lfs",
|
||||||
|
data = {
|
||||||
|
sources = {
|
||||||
|
timeleft = { "timeleft" }
|
||||||
|
},
|
||||||
|
instances = {
|
||||||
|
timeleft = { "battery" }
|
||||||
|
},
|
||||||
|
options = {
|
||||||
|
timeleft_battery = { color = "0000ff", title = "Time left"}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return { voltages, currents, percentage, temperature, timeleft }
|
||||||
|
end
|
|
@ -131,3 +131,7 @@ config 'statistics' 'collectd_olsrd'
|
||||||
|
|
||||||
config 'statistics' 'collectd_iwinfo'
|
config 'statistics' 'collectd_iwinfo'
|
||||||
option 'enable' '1'
|
option 'enable' '1'
|
||||||
|
|
||||||
|
config 'statistics' 'collectd_nut'
|
||||||
|
option 'enable' '0'
|
||||||
|
option 'UPS' 'myupsname'
|
||||||
|
|
|
@ -357,6 +357,12 @@ plugins = {
|
||||||
|
|
||||||
network = config_network,
|
network = config_network,
|
||||||
|
|
||||||
|
nut = {
|
||||||
|
{ "UPS" },
|
||||||
|
{ },
|
||||||
|
{ }
|
||||||
|
},
|
||||||
|
|
||||||
olsrd = {
|
olsrd = {
|
||||||
{ "Host", "Port", "CollectLinks","CollectRoutes","CollectTopology"},
|
{ "Host", "Port", "CollectLinks","CollectRoutes","CollectTopology"},
|
||||||
{ },
|
{ },
|
||||||
|
|
Loading…
Reference in a new issue