4 NUT provides many features, and is always improving.
5 Thus this list may lag behind the current code.
7 Features frequently appear during the development cycles, so be sure to look at
8 the link:http://www.networkupstools.org/download.html[release notes and change logs]
9 to see the latest additions.
11 ////////////////////////////////////////////////////////////////////////////////
12 *FIXME* statement that NUT is *the* de facto standard on Opensource system.
13 all Linux distributors have standardized the Power Devices support using NUT.
14 More and more appliances manufacturers are bundling NUT...
15 => add an Appendix NUT Device Integration in the User Manual
16 ////////////////////////////////////////////////////////////////////////////////
18 Multiple manufacturer and device support
19 ----------------------------------------
21 - Monitors many UPS, PDU and SCD models from more than 100 manufacturers with a
22 unified interface (link:stable-hcl.html[Hardware Compatibility List]).
24 - Various communication types are supported with the same common interface:
27 * network (SNMP, Eaton / MGE XML/HTTP).
29 Multiple architecture support
30 -----------------------------
32 - Cross-platform - different flavors of Unix can be managed together with a
33 common set of tools, even crossing architectures.
35 - This software has been reported to run on Linux distributions, the BSDs, Apple's
36 OS X, Solaris, IRIX, HP/UX, Tru64 Unix, and AIX.
38 - Windows users may be able to build it directly with Cygwin.
39 There is also a port of the client-side monitoring to Windows called WinNUT.
41 - Your system will probably run it too. You just need a good C compiler and
42 possibly some more packages to gain access to the serial ports.
43 Other features, such as USB / SNMP / whatever, will also need extra software
46 Layered and modular design with multiple processes
47 --------------------------------------------------
49 - Three layers: drivers, server, clients.
51 - Drivers run on the same host as the server, and clients communicate with the
52 server over the network.
54 - This means clients can monitor any UPS anywhere as long as there is a network
57 WARNING: Be sure to plug your network's physical hardware (switches, hubs,
58 routers, bridges, ...) into the UPS!
61 ////////////////////////////////////////////////////////////////////////////////
62 *FIXME* to be removed?
64 - This has also allowed us to create easily the Power Management integration.
66 === Power Management integration ===
68 - Thanks to its modular design, NUT can feed data to the FreeDesktop Hardware Abstraction Layer (HAL).[[BR]]
69 This allow a seemless integration of USB UPSs, at a small cost (around 200 Kb), reusing the standard Power Management GUIs and providing to users a full Plug & Play system.
71 - The added bonus is that this is the best Power Management existing, surpassing the one that exist on Windows and Mac OS, both in terms of devices supported and of features.
72 ////////////////////////////////////////////////////////////////////////////////
74 Redundancy support - Hot swap/high availability power supplies
75 --------------------------------------------------------------
77 - upsmon can handle high-end servers which receive power from multiple UPSes
80 - upsmon won't initiate a shutdown until the total power situation across all
81 source UPSes becomes critical (on battery and low battery).
83 - You can lose a UPS completely as long as you still have at least the minimum
84 number of sources available. The minimum value is configurable.
86 Security and access control
87 ---------------------------
89 - Manager functions are granted with per-user granularity. The admin can have
90 full powers, while the admin's helper can only do specific non-destructive tasks
91 such as a battery test.
93 - The drivers, server, and monitoring client (upsmon) can all run as separate
94 user IDs if this is desired for privilege separation.
96 - Only one tiny part of one program has root powers.
97 upsmon starts as root and forks an unprivileged process which does the actual
98 monitoring over the network.
99 They remain connected over a pipe. When a shutdown is necessary, a single
100 character is sent to the privileged process. It then calls the predefined
101 shutdown command. In any other case, the privileged process exits.
102 This was inspired by the auth mechanism in Solar Designer's excellent popa3d.
104 - The drivers and network server may be run in a chroot jail for further
105 security benefits. This is supported directly since version 1.4 and beyond with
106 the 'chroot=' configuration directive.
108 - IP-based access control relies on the local firewall and
109 link:http://en.wikipedia.org/wiki/TCP_Wrapper[TCP Wrapper].
111 - SSL is available as a build option ("--with-ssl").
112 It encrypts sessions with upsd and can also be used to authenticate servers.
117 - Comes stock with CGI-based web interface tools for UPS monitoring and
118 management, including graphical status displays.
120 - Custom status web pages may be generated with the CGI programs, since they use
121 templates to create the pages. This allows you to have status pages which fit
122 the look and feel of the rest of your site.
127 - That's free beer and free speech. Licensed under the GNU General Public
128 License version 2 or later.
130 - Know your systems - all source code is available for inspection, so there are
131 no mysteries or secrets in your critical monitoring tools.
133 UPS management and control
134 --------------------------
136 - Writable variables may be edited on higher end equipment for local customizations
138 - Status monitoring can generate notifications (email/pager/SMS/...) on alert conditions
140 - Alert notices may be dampened to only trigger after a condition persists. This
141 avoids the usual pager meltdown when something happens and no delay is used.
143 - Maintenance actions such as battery runtime calibration are available where
144 supported by the UPS hardware.
146 - Power statistics can be logged in custom formats for later retrieval and analysis
148 - All drivers are started and stopped with one common program. Starting one is
149 as easy as starting ten: 'upsdrvctl start'.
151 - Shutdowns and other procedures may be tested without stressing actual UPS
152 hardware by simulating status values with the dummy-ups pseudo-driver. Anything
153 which can happen in a driver can be replicated with dummy-ups.
158 These are the most common situations for monitoring UPS hardware. Other ways are
159 possible, but they are mostly variants on these four.
161 NOTE: these examples show serial communications for simplicity, but USB or SNMP
162 or any other monitoring is also possible.
164 "Simple" configuration
165 ~~~~~~~~~~~~~~~~~~~~~~
167 image:images/simple.png[]
169 One UPS, one computer. This is also known as "Standalone" configuration.
171 This is the configuration that most users will use. You need at least a driver,
172 upsd, and upsmon running.
174 "Advanced" configuration
175 ~~~~~~~~~~~~~~~~~~~~~~~~
177 image:images/advanced.png[]
179 One UPS, multiple computers. Only one of them can actually talk to the UPS
180 directly. That's where the network comes in. The Master system runs the driver,
181 upsd, and upsmon in master mode. The Slave systems only run upsmon in slave mode.
183 This is useful when you have a very large UPS that's capable of running multiple
184 systems simultaneously. There is no longer the need to buy a bunch of individual
185 UPSes or "sharing" hardware, since this software will handle the sharing for you.
187 ////////////////////////////////////////////////////////////////////////////////
189 === One UPS, many clients ===
191 - Multiple systems may monitor a single UPS using only their network connections - no special "UPS sharing" hardware is required.
193 - "Slave and master" monitoring design synchronizes shutdowns so that slaves can bring down their operating systems cleanly before the master switches off the power.
195 === Many UPSes, many clients ===
197 - Each upsd process can serve status data for multiple UPSes to many clients.
199 - Each upsmon process can monitor multiple UPSes for status data.
201 ////////////////////////////////////////////////////////////////////////////////
203 "Big Box" configuration
204 ~~~~~~~~~~~~~~~~~~~~~~~
206 image:images/bigbox.png[]
208 Some systems have multiple power supplies and cords. You typically find this on
209 high-end servers that allow hot-swap and other fun features. In this case, you
210 run multiple drivers (one per UPS), a single upsd, and a single upsmon (as
211 master for both UPS 1 and UPS 2)
213 This software understands that some of these servers can also run with some of
214 the supplies gone. For this reason, every UPS is assigned a "power value" - the
215 quantity of power supplies that it feeds on a system.
216 The total available "power value" is compared to the minimum that is required
217 for that hardware. For example, if you have 3 power supplies and 3 UPSes, but
218 only 2 supplies must be running at any given moment, the minimum would be 2.
219 This means that you can safely lose any one UPS and the software will handle it
220 properly by remaining online.
222 "Bizarre" configuration
223 ~~~~~~~~~~~~~~~~~~~~~~~
225 image:images/bizarre.png[]
227 You can even have a UPS that has the serial port connected to a system that it's
228 not feeding. Sometimes a PC will be close to a UPS that needs to be monitored,
229 so it's drafted to supply a serial port for the purpose. This PC may in fact be
230 getting power from some other UPS. This is not a problem.
232 The first system ("mixed") is a Master for UPS 1, but is only monitoring UPS 2.
233 The other systems are Slaves of UPS 2.
238 Thanks to Eaton for providing shiny modern graphics.