Network ups tools linux

Network UPS Tools (Русский)

Эта статья описывает установку Network UPS Tools (NUT). Он совместим с тысячами моделей ИБП, полный список которых доступен в списке совместимого оборудования.

Contents

Установка

Настройка

У NUT есть 3 связанных с ним демона:

  • Драйвер, который связывается с ИБП.
  • Сервер (upsd), который использует драйвер для сообщений о состоянии ИБП.
  • Демон мониторинга (upsmon), который контролирует сервер upsd и выполняет действия на основе полученной информации.

Идея состоит в том, что если существует несколько систем, подключенных к ИБП, одна может сообщать о состоянии ИБП по сети, а другие могут отслеживать это состояние, запуская свои собственные действия upsmon. У NUT есть обширная документация по конфигурации, здесь же будет рассказано о простой настройке USB-ИБП, а также соответствующего сервера и монитора в одной системе (обычная конфигурация рабочего места).

Настройка драйвера

Конфигурация зависит от типа используемого ИБП. Обратитесь к ранее упомянутому списку совместимого оборудования (Hardware Compatibility List), чтобы узнать, какой драйвер, скорее всего, будет работать с вашим ИБП. Также можно запустить утилиту nut-scanner(8) для обнаружения подключённых устройств, совместимых с NUT.

Для многих ИБП, подключенных по USB, используется драйвер usbhid-ups(8) . Для ИБП с последовательным портом используйте port=/dev/ttySX , где X — номер последовательного порта (например: /dev/ttyS1). Для ИБП с USB-портом используйте port=auto .

Назвать ИБП можно любым удобным именем. ups.conf(5)

Запустите драйвер от root-пользователя с помощью команды upsdrvctl start . Если ошибок нет, вы увидете подобное сообщение при использовании драйвера usbhid-ups :

Если же драйвер запускается с ошибками, убедитесь, что выбран правильный вариант для вашего оборудования. Возможно, вам придется попробовать другие драйверы, изменив значение «driver=» в ups.conf.

Ошибка «Can’t claim USB device»

Если вы получаете сообщение об ошибке, подобное этому:

Или менее конкретное:

Скорее всего, это проблема с разрешениями доступа к устройству. Её можно исправить, указав udev-правило для установки корректной группы:

Где idVendor и idProduct — производитель устройства и идентификатор продукта. Данную информацию можно найти в выводе ошибки [XXXX:YYYY] или с помощью lsusb .

После этого обновите и перезагрузите правила udev, выполнив следующую команду:

Настройка upsd

По умолчанию upsd слушает только localhost, что отлично подходит для наших целей. Хотя это необязательно, также можно настроить upsd под свои задачи, отредактировав файл /etc/nut/upsd.conf . Смотрите upsd.conf(5) для получения более подробной информации.

Для этого требуется добавить пользователя, чтобы монитор мог подключаться к серверу и выполнять команды. См. upsd.users(5) для получения более подробной информации.

На этом этапе должна быть возможность запустить и включить службу nut-server.service , которая автоматически запустит nut-driver.

При успешном запуске можно выполнить команду upsc для получения информации от ИБП. Пример вывода:

Настройка upsmon

Последний шаг — настроить upsmon для прослушивания upsd и выполнения действий при наступлении определённых событий.

Добавьте следующую строку в файл /etc/nut/upsmon.conf :

upsname — это имя ИБП, а upsduser и password — пользователь и его пароль, который вы установили в /etc/nut/upsd.users .

Читайте также:  Windows drivers with serial enumerator

Также можно настроить, какие оповещения отправляются и куда, какие действия предпринимаются при разряженном аккумуляторе и многое другое. Смотрите upsmon.conf(5) для получения более подробной информации.

Затем запустите и включите службу nut-monitor.service .

В логах должен отобразиться запуск upsmon и мониторинг ИБП.

NUT-Monitor

NUT-Monitor — графический пользовательский интерфейс для мониторинга и управления устройствами, подключенными к серверу Network UPS Tools.

Источник

Настройка с нуля сервиса управления ИБП Network UPS Tools (NUT) для управления локально подключенным ИБП

Описание

Сервис Linux NUT (Network UPS Tools) — это комплекс программ мониторинга и управления различными блоками бесперебойного питания (далее ИБП). Полный список поддерживаемых моделей можно получить, посмотрев список драйверов в файле /usr/share/nut/driver.list.

В руководстве описана настройка отключения ПК агентом NUT при потере напряжения в сети на примере ИБП Eaton 5E 650iUSB на Ubuntu-подобных дистрибутивах. Для использования под другие дистрибутивы используйте пакетный мененджер своего дистрибутива или соберите из исходных кодов. Новейшую версию Network UPS Tools можно скачать на GitHub по ссылке ссылке.

Установка NUT

Для начала следует установить NUT:

Сделаем резерную копию папки с файлами конфигурации NUT:

Теперь добавим директиву, указывающую, что ИБП подключен к данному компьютеру, а не к удаленному:

Теперь подключим ИБП к компьютеру и посмотрим вывод команды lsusb:

Ищем, поддерживается ли ИБП сервисом NUT. Можно либо просмотреть его вручную либо вывести строки с упоминанием марки ИБП, например:

Теперь, когда мы определились с драйвером, можно настраивать NUT.

Защита конфигурационных файлов

Следует выставить верные права доступа и владельцев для файлов конфигурации NUT

Настройка NUT

Настройка драйвера, способа подключения и времени выключения

Дописываем строки в конец файла /etc/nut/ups.conf или создаем новый с таким содержимым:

Настройка доступа системной группы NUT к ИБП по USB

Чтобы NUT имел право на доступ к USB интерфейсу ИБП, нужно написать правило доступа для udev.

udev — подсистема управления устройствами Linux. Благодаря udev в папке /dev находятся только подключенные в данный момент устройства.

и найдем строку, соответствующую ИБП. В нашем примере это

где после ID идет idVendor:idProduct (0463:ffff)

Теперь создадим файл с правилом для udev:

После создания правила следует перезагрузить сервис udev:

После этого следует отключить и заново подключить USB кабель от ИБП. После этого выполним команду для проверки работоспособности udev правила:

Если вывод приблизительно такой, то все настроено правильно.

Настройка адресов и портов прослушивания подключений к NUT

Дописываем строки в конец файла /etc/nut/upsd.conf или создаем новый с таким содержимым:

Имейте в ввиду что LISTEN должно быть написано именно большими буквами, или работать ничего не будет.

Настройка профиля пользователя для доступа к NUT

Создаем пользователя upsmonitor без права логина и домашней папки, с UID меньше 1000, чтобы он считался служебным и его не было на экране входа пользователей в систему, и с GID’ом группы nut.

Узнаем GID группы nut:

Теперь подберем UID для пользователя. Либо выберем такой, какой врядли используется какой либо программой, например, 339, либо выполняем:

и если ничего не выводит, то UID свободен и его можно использовать для создания пользователя upsmonitor:

Теперь добавим этого пользователя в файл профилей пользователей NUT /etc/nut/upsd.users:

Настройки мониторинга NUT

Дописываем строки в конец файла /etc/nut/upsmon.conf или создаем новый с таким содержимым:

Тест соединения

Посмотрим, что ИБП может сообщить о своем состоянии:

Все поля более менее очевидны или были определены нами в конфигурационных файлах ранее. Коды состояний ИБП отображаются в поле ups.status: и могут принимать значения:

  • OL — система работает от сети;
  • OB — система работает от батареи;
  • LB — система работает от разряженной батареи.
Читайте также:  Orient bluetooth драйвер для windows

Внутренние команды и переменные ИБП

ИБП можно давать команды напрямую из консоли, с помощью команды upscmd. Список доступных команд можно получить, выполнив команду:

Настройки beeper.* управляют сигнализацией ИБП в случае потери напряжения в сети, load.off выключает ПК немедленно, load.off.delay задержка в секундах до выключения ПК, shutdown.stop — команда прерывания процесса отключения ПК.

В некоторых ИБП присутствуют и другие опции, например, тест батареи или shutdown.return, в случае использования которой компьютер будет выключен, но ИБП пошлет сигнал включения ПК как только восстановится питание в сети. Чтобы это сработало, в БИОСе ПК дожна быть включена соответствующая функция, которая обычно находится где то в районе настроек питания.

Для примера выключим писк ИБП, когда пропадает питание в сети:

Чтобы включить, замените beeper.disable на beeper.enable.

Настройка планировщика задач NUT upssched

Дописываем строки в конец файла /etc/nut/upssched.conf или создаем новый с таким содержимым:

Теперь теперь нужен скрипт /etc/nut/cmd.sh. Создадим его, выставим права и заполним его:

Заключение

На этом настройка завершена. Можно протестировать, банально выдернув ИБП из розетки.

Источник

Network UPS Tools

This document describes how to install the Network UPS Tools (NUT). Network UPS Tools is compatible with thousands models of UPS. You can check the Hardware Compatibility List to see if your UPS is supported.

Contents

Installation

Configuration

NUT has 3 daemons associated with it:

  • The driver which communicates with the UPS.
  • A server (upsd) which uses the driver to report the status of the UPS.
  • A monitoring daemon (upsmon) which monitors the upsd server and takes action based on information it receives.

The idea is that if you have multiple systems connected to the UPS, one can communicate the status of the UPS over the network and the others can monitor that status by running their own upsmon services. NUT has extensive documentation on the configuration however this is going to walk through a simple setup of a USB UPS and the associated server and monitor all in one system (common desktop configuration).

Driver configuration

The configuration here will depend on the type of UPS you have. Consult the previously mentioned Hardware Compatibility List to find what driver will likely work for your UPS. You can run the tool nut-scanner(8) which will detect NUT-compatible devices attached to your system.

For many UPS connected by USB, use the usbhid-ups(8) driver. For UPS with serial port, use port=/dev/ttySX , where X is the number of serial port (Example: /dev/ttyS1 ). For UPS with USB port, use port=auto .

You can name the UPS device whatever you like. ups.conf(5)

Start the driver as root with upsdrvctl start . If there are no errors, you should see a message like this one for the driver usbhid-ups :

If the driver does not start cleanly, make sure you have picked the right one for your hardware. You might need to try other drivers by changing the driver= value in ups.conf .

Can’t claim USB device error

If you receive an error message like this one:

Or a less specific one:

It is most likely a problem with permissions for accessing the device. You can fix that by specifying an udev rule that sets the correct group:

Where XXXX and YYYY are the device manufacturer and product IDs. You can see these either in the error output ( [XXXX:YYYY] ) or by using lsusb .

Читайте также:  Как сделать общий принтер для локальной сети windows 10

After this is done, reload and retrigger udev rules by running:

upsd configuration

By default upsd listens only on localhost and this is fine for our purpose. Though it is not necessary for following this guide, you can configure upsd beyond the defaults by editing /etc/nut/upsd.conf . See upsd.conf(5) .

You will need to add a user for a monitor to connect to the server and issue commands. See upsd.users(5) .

At this point you should be able to start/enable nut-server.service which will automatically start nut-driver.

If it has started successfully, you can run upsc to get information from the UPS. Example output from the command:

upsmon configuration

The last step is to configure upsmon to listen to upsd and take action on events.

Add the following line to /etc/nut/upsmon.conf :

Here upsname is the name of the UPS, and upsduser and password is the user and its password you set in /etc/nut/upsd.users .

You can also configure what alerts are sent, where they are sent, what action is taken when the battery is low, and more. See upsmon.conf(5) .

Your logs should show upsmon starting and monitoring the UPS.

NUT-Monitor

NUT-Monitor is a graphical user interface to monitor and manage devices connected to the Network UPS Tools server.

You can install nut-monitor with the nut-monitor AUR package.

Источник

Welcome

The primary goal of the Network UPS Tools (NUT) project is to provide support for Power Devices, such as Uninterruptible Power Supplies, Power Distribution Units, Automatic Transfer Switches, Power Supply Units and Solar Controllers. NUT provides a common protocol and set of tools to monitor and manage such devices, and to consistently name equivalent features and data points, across a vast range of vendor-specific protocols and connection media types.

NUT provides many control and monitoring features, with a uniform control and management interface. If you are just getting acquainted with NUT, that page also explains the technical design and some possible set-ups.

More than 140 different manufacturers, and several thousands of models are compatible.

This software is the combined effort of many individuals and companies with free and open source code licensed under the terms of GNU Public License (GPL), see link:https://github.com/networkupstools/nut/blob/master/COPYING for specific details.

May 23, 2021: complementary projects led by Roger Price now hosted in the NUT organization on GitHub: the famous Config Examples book, as well as TLS Shims and TLS UPSmon for community discussion about secured NUT client-server communications

March 6, 2021: great thanks to Fosshost Org for providing virtual servers that we can use for diverse build farm!

November 13, 2020: announced handing of maintainership reins from Arnaud Quette to Evgeny «Jim» Klimov

March 9, 2016: NUT 2.7.4 released

April 16, 2015: NUT 2.7.3 released

April 17, 2014: NUT 2.7.2 released

February 18, 2014: new project nut-snmpagent

November 20, 2013: NUT 2.7.1 released

June 21, 2013: new client walNUT released

February 10, 2013: NUT source repository is converted to Git using reposurgeon

August 8, 2012: NUT 2.6.5 released

June 5, 2012: WMNut 0.64 released, and move hosting

May 31, 2012: NUT 2.6.4 released, including CVE-2012-2944 fix

May 10, 2012: WMNut 0.63 released

May 9, 2012: Official publication of Riello communication protocols

Источник

Оцените статью