Мозаика системного администрирования
Инструменты пользователя
Инструменты сайта
Network UPS Tools (NUT)
Содержание
Network UPS Tools (NUT) — комплект программ для мониторинга ИБП .
Установка
Сервер
Клиент
Клиент MS Windows
WinNUT
WinNUT — The Windows Network UPS Tools
WinNUT is currently being replaced by a full port to Windows, part of the official NUT distribution. MSI packages are available too.
Windows NUT client
Графический интерфейс к WinNUT
Windows NUT client is a partial port of KNutClient to Windows using AUTOIT scripting language.
Веб мониторинг
Настройка
Сервер
nut.conf
upsd.conf
upsd.users
ups.conf
Нужно обязательно дать права на файл устройства (порта), иначе будет ошибка:
Для того, чтобы после перезагрузки были правильные права на файл, нужно создать файл:
upsmon.conf
Клиент
nut.conf
upsmon.conf
upslog
Вывод протокола в файл с помощью upslog
Для подавления сообщения:
Нужно использовать следующую конструкцию:
upsdrvctl
UPS driver controller
Zabbix
Мониторинг через Zabbix, работает через Zabbix агент.
Параметр | Имя переменной | Примечания |
---|---|---|
Имя драйвера NUT | driver.name | |
Модель ИБП | ups.model | |
Нагрузка (%) | ups.load | |
Напряжение батарей (В) | battery.voltage | |
Напряжение на входе (В) | input.voltage | |
Напряжение на выходе (В) | output.voltage | |
Номинальная нагрузка (ВА) | ups.power.nominal | |
Производитель ИБП | ups.mfr | |
Расчётное время работы от батарей (Мин.) | battery.runtime | |
Состояние | ups.status | Эта переменная может содержать несколько значений, вот пример: |
для этого введены переменные ups.status-2 … ups.status-5 , если эти переменные не содержат значений то возвращается 0
возвращается 0 , также она может содержать несколько значений, для этого введены переменные ups.alarm-2 … ups.alarm-10
Если переменная не поддерживается, возникает ошибка:
Настройка мониторинга состояния ИБП SNR серии Element в Windows
Решаем задачу по мониторингу ИБП SNR серии Element, 1000 VA, 24VDC. В комплекте с ним шла утилита хх-летней давности UPSilon 2000, которая кроме как через email (и пейджер ;)) оповещать о событиях не умеет.
Network UPS Tools
Установка
Скачиваем msi пакет для Windows Windows (complete port, Beta) и устанвливаем. Входе установки у меня возникла ошибка установки NUT UPS драйвера . Пришлось скачивать этот: http://sourceforge.net/projects/libusb-win32/. В составе этого драйвера есть утилита inf-wizard.exe с помощью которой можно легко определить какое из usb устройств наш ИБП и установить драйвер в систему, особенно актуально для установки в режиме Windows Server Core.
Дальше нужно найти недастующие библиотеки (которые отсутствуют в инсталяторе), а именно:
- libeay32.dll
- ssleay32.dll
- msvcr71.dll
- libgcc_s_dw2-1.dll
Их можно скачать у меня в составе архива или найти самостоятельно.
Настройка
Минимальная настройка конфигурации в моем случае.
runtimecal — Для подсчета этого параметра нужно тестировать сам ИБП. Нужно разредить полностью с определенным процентом нагрузки и замерить время. Например в приведенном верху примере при 86% нагрузке ИБП разряжается за 900 секунд, а при 42% нагрузке за 1960 секунд.
Проверить правильность настроек (после запуска службы) можно так:
Запустить NUT для отладки как консольную программу можно так:
Обязательно нужно проверить настройки брандмаэура, открыть TCP порт 3493.
На Windows Server Core, NUT на отрез отказывался корректно запускаться как служба. Пришлось в планировщике задач прописать следующий powershell скрипт выполняющийся при старте системы:
Мониторинг
Мониторить будем с помощью icinga2 .
Вариант опроса ИБП из Linux
Подключаем плагин check_nut_plus как CheckCommand:
Related projects
There are many programs and devices that integrate NUT support.
This page tries to track them.
Graphical desktop clients
KNutClient
KNutClient is a visual client for NUT.
NUT-Monitor
NUT-Monitor is a graphical application to monitor and manage UPSes connected to a NUT server. This application is written in Python and PyGTK, and uses the PyNUT class.
| NUT-Monitor is part of NUT since NUT v2.4.1. It will further evolve toward the NUT Control Center. |
walNUT
A Gnome Shell extension to monitor/manage NUT-controlled devices.
Windows NUT client
Windows NUT client is a partial port of KNutClient to Windows using AUTOIT scripting language.
WinNUT
WinNUT is a partial port of the client side of Network UPS Tools (NUT) to Windows.
| WinNUT is currently being replaced by a full port to Windows, part of the official NUT distribution. MSI packages are available too. |
WMNUT
WMNut is a dockapp program to monitor multiple UPSs statistics through the NUT (Network UPS Tools) framework on Linux and other systems.
Network Management Systems (NMS) integration
There are at least three different scripts that add NUT support to Cacti:
collectd
The collectd system statistics collection daemon features a NUT plugin to collect statistics from UPSes.
Xymon (Hobbit) monitor
MonAMI NUT plugin
A plugin to return UPS status to the MonAMI universal sensor framework.
Munin NUT plugin
Nagios plugin
The check_ups plugin returns UPS status to the Nagios monitoring system using NUT.
Configuration GUIs
KNutSetting
KNutSetting is a visual KDE tool for configuring NUT — Network UPS Tools.
Other software projects
42ITy™
42ITy™ is a next generation platform for data center service optimization that aims to bridge the gap between the traditional silos of IT and facility management.
42ITy™ promotes an open, community based approach, to ensure broad and vendor agnostic support, while leveraging and giving back to leading open source software components including NUT (Network UPS Tools), ØMQ/Malamute & MariaDB, among others.
Network UPS Tools Services for Windows
Network UPS Tools Services for Windows provides tools and services to run an upsd -compatible server to report the status of UPS devices connected to a system or server in master mode. It allows other Network UPS Tools slave daemons and monitoring clients access to UPS information using standard Windows programing interfaces for easier setup.
nut-snmpagent
nut-snmpagent is an SNMP wrapper to expose the upsc output into Net-SNMP.
PyNUT
PyNUT is an abstraction class written in Python to access NUT (Network UPS Tools) server and execute commands without needing to know the communication protocol.
RRDtool logging support
This patch adds RRDtool logging support to NUT. (See also [collectd].)
ups_control
A developing Python wrapper to upsc which can generate email and shutdown the machine.
UPS::Nut
A Perl module to talk to an UPS via NUT (Network UPS Tools) upsd.
python-nut2
A fork and complete API overhaul of PyNUT, a Python library to allow communication with Network UPS Tools servers.
webNUT
A simple web interface for Network UPS Tools servers.
go.nut
A Golang library for interacting with NUT.
Hardware projects involving NUT
This is an incomplete list of the hardware known to embed NUT.
Dell PowerVault NX3500
Dell is using NUT to protect the new PowerVault NX3500 storage devices.
OpenGear
Opengear provides an advanced NUT integration into many models. There is also a video presentation of the NUT integration.
For more information on Opengear’s contributions to NUT, have a look at the acknowledgements information.
Synology
Synology has worked closely with Arnaud to integrate UPS support on all its devices.
Alcatel Lucent IPBX
Alcatel has been working for years with us (Patrick Agrain and Arnaud) to improve NUT integration into some of their IPBX.
Netgear ReadyNAS
The RAIDiator firmware for the ReadyNAS product line includes NUT to either monitor a local USB UPS, or to connect as a slave to a NUT server.
Thecus NAS
Thecus NAS firmware includes NUT for UPS support. The following list of devices is known to be supported.
Buffalo NAS
Buffalo TeraStation NAS (Business-class) include NUT for UPS support.
Eaton — Intelligent Power Controller
Eaton Intelligent Power Controller provides easy infrastructure monitoring solution, using the 42ITy™ Open Source data center monitoring software stack, which relies on NUT for power devices monitoring.
Legacy and discontinued projects
GKrellM NUT
Simple UPS monitoring plugin for GKrellM. Uses NUT (Network UPS Tools) for UPS connection.
PHP4 / GD / MySQL / jpgraph package to visualize logged UPS status data.
Eaton — Personal Solution Pac
NUT configuration and monitoring software for Eaton (previously MGE Office Protection Systems) units.
UPS Monitor
Multi-threaded python/GTK2 graphical monitoring application.
Notes
Client authors: send updates on your releases to the NUT users mailing list. We will also put a link to you in the news section of the top page when things change.
If you know of a project which should be listed, please send in the URL.