Instruction Manual
44
NUT is built on a networked model with a layered scheme of drivers,
server and clients.
The driver programs talk directly to the UPS equipment and run on 1.
the same host as the NUT network server upsd. Drivers are provided
for a wide assortment of equipment from most of the popular UPS
vendors and they understand the specific language of each UPS and
map it back to a compatibility layer. This means both an expensive
“smart” protocol UPS and a simple “power strip” model can be handled
transparently.
The NUT network server program upsd is responsible for passing 2.
status data from the drivers to the client programs via the network.
upsd can caches the status from multiple UPSes and can then serve
this status data to many clients. upsd also contains access control
features to limit the abilities of the clients (e.g. so only authorized hosts
may monitor or control the UPS hardware)
There are a number of NUT clients that connect to upsd that to read 3.
that check on the status of the UPS hardware and do things based
on the status. These clients can run on the same host as the NUT
server or they can communicate with the NUT server over the network
(enabling them to monitor any UPS anywhere).
The upsmon client enables servers that draw power through the UPS
(i.e. slaves of the UPS) to shutdown gracefully when the battery power
reaches critical. Additionally, one server is designated the master of
the UPS, and is responsible for shutting down the UPS itself when all
slaves have shut down. Typically, the master of the UPS is the one
connected to the UPS via serial or USB cable.
upsmon can monitor multiple UPSes, so for high-end servers which
receive power from multiple UPSes simultaneously won’t initiate a
shutdown until the total power situation across all source UPSes
becomes critical.
There also the two status/logging clients, upsc and upslog. The upsc
client provides as a quick way to poll the status of a UPS. It can be
used inside shell scripts and other programs that need UPS status
information. upslog is a background service that periodically polls the