|
|

Features
This list may lag behind the current code. Features frequently appear
during the development cycles, so be sure to look at the change logs to
see the latest additions.
Multiple manufacturer support
- Monitors many UPS models from
79 different manufacturers with a unified interface. Even USB and SNMP
models are supported with the same common interface. SNMP
equipment can also be monitored with two experimental drivers.
Multiple architecture support
- Cross-platform - different flavors of Unix can be managed together
with a common set of tools, even crossing architectures.
- Win32 platforms can also monitor Unix-hosted hardware with
WinNUT.
Layered design with multiple processes
- Three layers: drivers, server, clients.
- Drivers run on the same host as the server, and clients communicate
with the server over the network.
- This means clients can monitor any UPS anywhere as long as there
is a network path between them. Be sure to plug your network's physical
hardware (switches, hubs, routers, bridges, ...) into the UPS!
Common Power Management support
NUT can bridge the driver layer (USB only) onto FreeDesktop HAL - Hardware Abstraction Layer,
feeding UPS information for common Power Management applications such as Gnome Power Manager.
These applications also monitors laptop battery, and are generally already available on the system.
Multiple UPS support - Hot swap/high availability power supplies
- upsmon can handle high-end servers which receive power from multiple
UPSes simultaneously.
- upsmon won't initiate a shutdown until the total power situation
across all source UPSes becomes critical (on battery and low battery).
- You can lose a UPS completely as long as you still have at least
the minimum number of sources available. The minimum value is
configurable.
Security and access control
- IP-based access control lists are used to limit access by hosts or
networks. Entries may be long-style (192.168.1.0/255.255.255.0) or
CIDR-style (192.168.1.0/24).
- Manager functions are granted with per-user granularity. The admin
can have full powers, while the admin's helper can only do specific
non-destructive tasks such as a battery test.
- The drivers, server, and monitoring client (upsmon) can all run as
separate user IDs if this is desired for privilege separation.
- Only one tiny part of one program has root powers.
upsmon starts as root and forks an unprivileged process which does
the actual monitoring over the network.
They remain connected over a pipe. When a shutdown is necessary, a single
character is sent to the privileged process. It then calls the predefined
shutdown command. In any other case, the privileged process exits.
This was inspired by the auth mechanism in Solar Designer's
excellent popa3d.
- The drivers and network server may be run in a chroot jail for
further security benefits. This is supported directly as of the NUT 1.4
version and beyond with the chroot= configuration directive.
One UPS, many clients
- Multiple systems may monitor a single UPS using only their
network connections - no special "UPS sharing" hardware is required.
- "Slave and master" monitoring design synchronizes shutdowns so that
slaves can bring down their operating systems cleanly before the
master switches off the power.
Many UPSes, many clients
- Each upsd process can serve status data for multiple UPSes to
many clients.
- Each upsmon process can monitor multiple UPSes for status data.
Web-based monitoring
- Comes stock with CGI-based
web interface tools for UPS
monitoring and management, including
graphical status displays.
- Custom status web pages may be generated with the CGI programs,
since they use templates to create the pages. This allows you to have
status pages which fit the look and feel of the rest of your site.
Other features
Free software
UPS management and control
- Writable variables may be edited on higher end equipment like
APC's Smart/Matrix-UPS models for local customizations
- Status monitoring can generate pager/SMS notifications on alert
conditions
- Alert notices may be dampened to only trigger after a condition
persists. This avoids the usual pager meltdown when something happens
and no delay is used.
- Maintenance actions such as battery runtime calibration are available
where supported by the UPS hardware.
- Power statistics can be logged in custom formats for later retrieval
and analysis
- All drivers are started and stopped with one common program. Starting
one is as easy as starting ten: 'upsdrvctl start'.
- Shutdowns and other procedures may be tested without stressing actual
UPS hardware by simulating status values with the dummycons pseudo-driver.
Anything which can happen in a driver can be replicated with dummycons.
Monitoring diagrams
These are the most common situations for monitoring UPS hardware.
Other ways are possible, but they are mostly variants on these four.
Note that these examples show serial communications for simplicity,
but USB and SNMP monitoring is also possible.
"Simple" configuration
One UPS, one computer. This is the configuration that most users will
use. You need at least a driver, upsd, and upsmon running.
"Advanced" configuration
One UPS, multiple computers. Only one of them can actually talk to the
UPS directly. That's where the network comes in. The Master system
runs the driver, upsd, and upsmon in master mode. The Slave systems
only run upsmon in slave mode.
This is useful when you have a very large UPS that's capable of running
multiple systems simultaneously. There is no longer the need to buy
a bunch of individual UPSes or "sharing" hardware, since this software
will handle the sharing for you.
"Big Box" configuration
Some systems have multiple power supplies and cords. You typically find
this on high-end servers that allow hot-swap and other fun features.
In this case, you run multiple drivers (one per UPS), a single upsd,
and a single upsmon (as master for both UPS 1 and UPS 2)
This software understands that some of these servers can also run with
some of the supplies gone. For this reason, every UPS is assigned a
"power value" - the quantity of power supplies that it feeds on a system.
The total available "power value" is compared to the minimum that is
required for that hardware. For example, if you have 3 power supplies
and 3 UPSes, but only 2 supplies must be running at any given moment,
the minimum would be 2. This means that you can safely lose any one
UPS and the software will handle it properly by remaining online.
"Bizarre" configuration
You can even have a UPS that has the serial port connected to a system
that it's not feeding. Sometimes a PC will be close to a UPS that needs
to be monitored, so it's drafted to supply a serial port for the purpose.
This PC may in fact be getting power from some other UPS. This is not a
problem.
The first system ("mixed") is a Master for UPS 1, but is only monitoring
UPS 2. The other systems are Slaves of UPS 2.
Image credits
Thanks to Luc Descotils and Arnaud Quette at MGE for providing shiny cleaned-up versions
of
Russell Kroll's
old
example
graphics!
|