Network UPS Tools
   HOME

TheInfoList



OR:

Network UPS Tools (NUT) is a suite of software component designed to monitor power devices, such as
uninterruptible power supplies An uninterruptible power supply or uninterruptible power source (UPS) is an electrical apparatus that provides emergency power to a load when the input power source or mains power fails. A UPS differs from an auxiliary or emergency power system ...
,
power distribution unit A power distribution unit (PDU) is a device fitted with multiple outputs designed to distribute electric power, especially to racks of computers and networking equipment located within a data center. Data centers face challenges in power protec ...
s,
solar controller A solar controller is an electronic device that controls the circulating pump in a solar hot water system to harvest as much heat as possible from the solar panels and protect the system from overheating. The basic job of the controller is to t ...
s and servers power supply units. Many brands and models are supported and exposed via a network protocol and standardized interface. It follows a three-tier model with dozens of NUT device driver daemons that communicate with power-related hardware devices over selected media using vendor-specific protocols, the NUT server which represents the drivers on the network (defaulting to IANA registered port ) using the standardized NUT protocol, and NUT clients (running on same as the server, or on remote systems) which can manage the power devices and query their power states and other metrics for any applications, usually ranging from historic graphing and graceful shutdowns to orchestrated power failover and VM migration. Based on NUT design and protocol, the project community authored "UPS management protocol", Informational RFC 9271, which was published by IETF in August 2022, and the IANA port number registry was updated to reflect it (even though this RFC is not formally an Internet Standard). Clients maintained in the NUT codebase include , and for command-line actions, for relatively simple monitoring and graceful shutdowns (considering the amount of minimally required vs. total available power source units in the current server), for complex monitoring scenarios, for a simple web interface, a X11 desktop client, as well as C, C++ and Python libraries for third-party clients. Community projects include more clients and bindings for other languages. Being a cross-platform project, NUT works on most Unix, BSD and Linux platforms with various system architectures, from embedded systems to venerable Solaris, HP-UX and AIX servers. There were also native Windows builds based on previous stable NUT release line, last being 2.6.5. This effort was revived after the NUT 2.8.0 release, becoming part of the main codebase in September 2022 (at this time there are areas of the codebase documented in the project as placeholders and not yet ported to the Windows platform, and packages are not yet produced by the project).


History

Pavel Korensky's original provided the inspiration for pursuing the
APC Smart-UPS The Smart-UPS is a series of enterprise-level uninterruptible power supplies (UPS) made by American Power Conversion (APC). Most of the units have a SmartSlot (with the exception of SC and SMC series) which accepts an optional interface card provi ...
protocol in 1996. This is the same software that Apcupsd derived from, according to the
Debian Debian (), also known as Debian GNU/Linux, is a Linux distribution composed of free and open-source software, developed by the community-supported Debian Project, which was established by Ian Murdock on August 16, 1993. The first version of D ...
maintainer of the latter. Russell Kroll, the original NUT author and coordinator, released the initial package, named ''smartupstools'', in 1998. The design already provided for two daemons, (which serves data) and (which protects systems), a set of drivers and examples, a number of CGI modules and client integration, and a set of client CLI tools (, and ), for interfacing the system with a specific UPS of a given model. Evgeny "Jim" Klimov, the current project leader since 2020, focuses first on automated testing and quality assurance of existing codebase to ensure minimal breakage introduced by new contributions, as well as to clean up older technical debts and inconsistencies highlighted by modern lint and coverage tools,https://alioth-lists.debian.net/pipermail/nut-upsdev/2020-November/007496.html and issuing a long-overdue new official release. Over its two-decade history, the open-source project became the de facto standard solution for UPS monitoring provided with OS distributions and embedded into many NAS solutions, some converged hypervisor set-ups, and other appliances, and enjoyed contributions and support from numerous end-users as well as representatives of power hardware vendors providing protocol specifications, sample hardware, and in many cases new NUT driver code and subsequent fixes based on NUT community feedback.


References


External links

* {{Official website Electrical device control software Free software programmed in C Servers (computing) Linux software Uninterruptible power supply Unix software