Network ups tools for windows

This section presents the different methods to download NUT.

Source code

You should always use PGP/GPG to verify the signatures before using any source code.

Development tree:

Code repository

The development tree is available through a Git repository hosted at
GitHub.

To retrieve the current development tree, use the following command:

:; git clone git://github.com/networkupstools/nut.git

OPTIONALLY you can then fetch known git tags, so semantic versions look
better (based off a recent release):

:; cd nut
:; git fetch --tags --all

The configure script and its dependencies are not stored in Git. To generate
them, ensure that autoconf, automake and libtool are installed, then run the
following script in the directory you just checked out:

it is optionally recommended to have Python 2.x or 3.x, and Perl, to
generate some files included into the configure script, presence is checked
by autotools when it is generated. Neutered files can be just «touched» to
pass the autogen.sh if these interpreters are not available, and effectively
skip those parts of the build later on — autogen.sh will then advise which
special environment variables to export in your situation and re-run it.

Browse code

You can browse the «vanilla NUT» code at the
Main GitHub repository for NUT sources,
and some possibly modified copies as part of packaging recipe
sources of operating system distributions, as listed below.

Snapshots

GitHub has several download links for repository snapshots (for particular tags
or branches), but you will need a number of tools such as autoconf, automake
and libtool to use these snapshots to generate the configure script and some
other files.

After you configure the source workspace, a make dist-hash recipe would
create the snapshot tarballs which do not require the auto* tools, and their
checksum files, such as those available on the NUT website and attached to
GitHub Releases page.

Older versions

Binary packages

Java packages

  • The jNut package has been split into its own
    GitHub repository.

  • NUT Java support (client side, Beta)
    jNUT 0.2-SNAPSHOT

  • NUT Java Web support (client side using REST, Beta)
    jNutWebAPI 0.2-SNAPSHOT (sources)

Virtualization packages

VMware

  • NUT client for VMware ESXi (several versions of both; offsite, by René Garcia).
    Since the hypervisor manager environment lacks access to hardware ports, this
    package only includes the upsmon client integration, and a NUT server must
    run in a VM with passed-through ports.

    Note that the VIB package versioning is independent of NUT or VMware versions,
    they are however mentioned in downloadable file names. As of this writing,
    there are builds spanning VMware ESXi 5.0-8.0 and NUT 2.7.4-2.8.0.

    This module is provided «as is» and is not approved by VMware,
    you may lose VMware support if you install it. Use it at your own risks.
    • GitHub repository with build recipes,
      including binary releases

    • Original blog entry (French)

    • Historic
      details of the recipe evolution

    • VIB package
      (in fact automatically redirects to latest build)

Когда возникает задача мониторить бесперебойники у рабочих станций? Запищал – заменил, конец. Чинить ИБП – дело неблагодарное, менять аккумуляторы – не все хотят возиться (или даже моветон).

Так думал и я, особенно после череды ИБП с отказавшей электроникой. Ситуацию усугублял софт от производителей. Он, как бы это помягче выразиться, барахло. Причем у всех – APC, Ippon, Powercom, TrippLite. Что серверный, что для рабочих станций. Пробовать платные версии после опыта с бесплатными – желания не возникло. А совсем весело, когда ИБП от разных производителей.

Но мониторить всё же надо. Плюсы очевидны: 1) можно поменять ИБП ДО того, как он издаст прощальный писк; 2) можно сразу увидеть, где сдохла батарея, а где электроника.
Минус же прост, как всегда: стоимость решения, в деньгах или человеко-часах.

Вот эту проблему и будем решать.

Если имеем зоопарк, то самый адекватный способ – это Network UPS Tools.

По нему мало информации про Windows, а ещё нет GUI. Но это мы решим.

Справедливости ради нужно отметить, что есть похожий проект на Python. Но мне лично кажется совершенно излишним использование Python (и подобные технические решения) там, где можно обойтись парой строк нативного скриптинга.

Disclaimer

  • Это не «готовое решение».
  • Это не предложение, а рассказ.
  • Да, есть Zabbix, Cacti, etc, и это тяжеловесные решения для больших компаний, требующие выделенного сервера и всё равно какого-то промежуточного слоя для поддержки соответствующего протокола UPS.
  • При всём вышеперечисленном, решение достаточно простое, достаточно лёгкое и стоит 0 валюты.

Разумеется, для сбора информации понадобятся UPS с инфо-портом. У меня возникли проблемы с COM-портом IPPON, всё остальное работает на ура.

Обычно для рабочих станций используется подключение ИБП по USB, этот случай и рассмотрим. Нужно установить NUT на все рабочие станции с ИБП.
Возможные проблемы при этом:

  • > Драйвер libusb лучше ставить отдельно. Те, что в комплекте, понимает не все ИБП;
  • Если libusb предлагает стандартное имя HID UPS Battery, нужно его изменить – со стандартным именем некоторые системы почему-то не видят UPS;
  • если процессе установки появилось сообщение «Драйвер без цифровой подписи«, то его нужно повторно переустановить руками, иначе он слетает;
  • если libusb не распознал модель UPS, то с первого раза драйвер ставится НЕКОРРЕКТНО! Об этом говорит ошибка «upsmon ERROR ACCESS DENIED», или драйвер просто слетает. Нужно: остановить службу NUT, удалить драйвер libusb, подождать, пока установится «USB устройство ввода», выбрать для него вручную драйвер libusb заново;
  • Для NUT нужны сторонние библиотеки, которых в комплекте установки нет. Setup об этом говорит, но кто ж его читает :) Плюс часто в системах уже есть софт с этими библиотеками. Точно нужны: libeay32.dll, ssleay32.dll, libgcc_s_dw2-1.dll (есть в папке NUT-bin), libusb.dll (есть в дистрибутиве libusb), msvcr71.dll (в составе Net Framework 1.1). Все эти файлы должны быть в папке Windows\System32;
  • иногда нужно указать bus=«bus-0» для USB UPS в ups.conf;
  • на быстрых машинах и на некоторых сетевых картах служба NUT стартует раньше, чем драйвер и/или сетевой интерфейс. При этом тип запуска «Автозагрузка (отложенный запуск)» приводит к ошибке «upsc ERROR DATA STALE». Решение: создать задачу, которая будет проверять наличие процесса upsd при появлении события с кодом 1 из источника «Network UPS Tools» и перезапускать службу Network UPS Tools скачать xml-файл задачи скачать скрипт (должен быть в папке NUT\others).

Примерный скрипт полуавтоматической установки NUT на клиенты:

N:\NUT-Installer-2.6.5-6.msi /qn
copy N:\dll\ssleay32.dll C:\Windows\System32 /Y
copy N:\dll\libeay32.dll C:\Windows\System32 /Y
copy N:\dll\libgcc_s_dw2-1.dll C:\Windows\System32 /Y
copy N:\dll\libusb.dll C:\Windows\System32 /Y
copy N:\etc\* "%programfiles%\NUT\etc"

rem добавляем IP-адрес клиента в конфиг NUT автоматически
SET IP=192.168.100.10
set ip_address_string="IP Address"
rem Uncomment the following line when using Windows 7 (with removing "rem")!
set ip_address_string="IPv4-адрес"
REM echo Network Connection Test
for /f "usebackq tokens=2 delims=:" %%f in (`ipconfig ^| findstr /c:%ip_address_string%`) do SET IP=%%f
ECHO LISTEN %IP% 3493 >> "%programfiles%\NUT\etc\upsd.conf"

rem Ставим драйвер libusb отдельно
N:\libusb-win32-bin-1.2.6.0\bin\inf-wizard.exe

rem Правим конфиги, там буквально две строки
notepad "%programfiles%\NUT\etc\ups.conf"
notepad "%programfiles%\NUT\etc\upsmon.conf"
pause
net use N: /delete /Y

Как понять, почему не работает NUT под Windows:

  • проверяем, есть ли в процессах nut.exe
  • если есть, то проверяем upsd.exe и upsmon.exe
  • если upsd нет в процессах, идём в nut\sbin и запускаем руками:
  • «upsd не может быть запущен, так как отсутствует dll» – проверяем dll в system32, перезагружаемся на всякий случай;
  • «upsd error creating named pipe» – upsd уже запущен
  • запускается и сразу закрывается – проверить ip-адрес в upsd.conf в секции LISTEN, особенно актуально, если на машине DHCP ;
  • upsd запустился, но не видит UPS – установить или переустановить libusb, проверить libusb.dll в system32, переименовать устройство из HID UPS Battery;
  • если upsd стартовал, идём в bin и выполняем upsc our_ups@localhost
  • «upsc не может быть запущен, так как отсутствует dll» – проверяем библиотеки ;
  • «upsc failed connection unknown error» – проверяем, запущен ли upsd и upsmon, внимательно проверяем секцию MONITOR в upsmon.conf, ещё раз проверяем библиотеки dll;
  • «upsc error data stale» – либо UPS один раз запускался и больше не работает, тогда переустанавливаем драйвер libusb и переименовываем HID UPS Battery, либо служба NUT поднялась быстрее, чем стал виден сетевой интерфейс или USB UPS, перезапускаем службу;
  • «upsmon error ACCESS DENIED» – переустанавливаем драйвер, как описано выше.

Для сервера мониторинга нужны:

  • NUT в режиме standalone;
  • любой web-сервер с php и mysql. Я использую Uniform Server
  • MySQL-база и папка www из репозитория, и пара batch-скриптов оттуда же.

Базу SQL и www кладём в соответствующие каталоги веб-севера. Скрипты из batch_scripts копируем в папку установки NUT. Запускаем веб-сервер, переходим на localhost/index_ups.php. Добавляем любой из клиентских UPS в формате UPS_name@host. Запускаем скрипт get_ups_list_mysql.cmd. Проверяем. Enjoy.

image

Что мы можем увидеть полезного, помимо текущего состояния? Например:

  • если минимальный вольтаж батареи приближается к 10 – лучше заменить её заранее;
  • при нормальных значениях вольтажа отказ ИБП будет связан скорее всего, с отказом электроники (ваш, К.О.);
  • нагрузка более 70 процентов нежелательна, 100 не нормальна, если не связана с событием self-test;
  • минимальный заряд батареи менее 30% говорит о неисправности батареи либо о неверных настройках автоотключения при разряде на клиенте.

Несколько моментов:

  • столбцы можно сортировать нажатием на заголовок;
  • максимальные/минимальные значения выводятся через слеш к текущим, критические отмечаются красным;
  • осторожнее с кнопкой «self-test».

Если у кого-то проблемы с установкой/работой NUT под Windows – пишите, разберёмся вместе.

Спасибо за внимание!

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

Какой софт вы используете для мониторинга ИБП рабочих станций?

18.8% Софт от производителя22

29.06% Zabbix / Cacti / подобное34

24.79% Не использую, но после прочтения статьи решил, что надо бы29

4.27% Другое, рассказал в комментариях5

Проголосовали 117 пользователей. Воздержались 24 пользователя.

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.

Installation

  • Run the appropriate MSI for your processor platform.

Building

Requirements

  • Visual Studio 2015 Community or better.
  • Windows Installer XML Toolkit 3.9 or later (for 3.9, the following is required, similar to
    Enable WiX project in Visual Studio 2013)

    1. Copy C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\Microsoft\WiX
      to C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\WiX
    2. Modify C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\WiX\extension.vsixmanifest
      by adding the following:

      <VisualStudio Version="14.0">
          <Edition>Ultimate</Edition>
          <Edition>Premium</Edition>
          <Edition>Pro</Edition>
          <Edition>Express_All</Edition>
      </VisualStudio>
      
    3. Then open a Visual Studio 2015 Command Prompt such as Developer Command Prompt for VS2015
      and run devenv /setup.

Components

ntUPSd: Network UPS Tools Daemon for Windows

A Windows service that provide information to upsd compatible clients.

ntUPSd.Core: Support Library

Provides many wrappers for Windows APIs used by ntUPSd. This library allows the core logic of
the daemon to remain clean and easy to follow. It is a static library and therefore will now be
present in binary release installations.

ntUPSd.Setup: Installation

The MSI and setup bootstrap for installing ntUPSd.

TODOs

In no particular priority.

  • Implement complete protocol.
  • Create administration user interface.
  • Add support for mulitple batteries.
  • Add support for authentication.
  • Proper installation instructions.

License

Network UPS Tools Services for Windows is provided under the MIT license. For more information see
the LICENSE file.

ups

power

monitoring

alerts

Open source software for monitoring and managing UPS devices, working across multiple OS platforms, with alerts on power outages or battery failures

What is Network UPS Tools?

Network UPS Tools (NUT) is an open-source software solution for monitoring and managing uninterruptible power supply (UPS) hardware connected to a network. It works across multiple operating system platforms and aims to provide a uniform interface for managing any UPS on the network.

Some key features and capabilities of NUT include:

  • Support for monitoring a wide range of UPS models from various manufacturers including APC, MGE, Eaton, Tripp Lite, and more.
  • Alerts and notifications via email, SNMP traps, logging, and external script triggers for power events like outages or low battery.
  • Safe shutdown of computers and virtual machines connected to the UPS during extended power failures.
  • Detailed graphs and logs for tracking battery capacity, load levels, voltages, and other UPS metrics.
  • XML-RPC interface for monitoring status from various programming languages and tools.
  • Platform support across Linux, BSD, macOS, Solaris, Windows, and other common server operating systems.
  • Modular driver-based architecture makes adding support for new UPS models relatively easy.

NUT provides a robust anddependable solution for keeping critical systems and infrastructure powered and monitored. Its open source nature facilitates custom integrations and extensions as well.

Network UPS Tools Features

Features

  1. Monitors and manages UPS devices on a network
  2. Provides status information on UPS devices
  3. Sends alerts on power events like outages or battery failures
  4. Supports graceful shutdown of computers on power loss
  5. Works across multiple operating systems like Linux, Windows, macOS
  6. Open source and community supported

Pros

Free and open source

Cross-platform support

Active development community

Integrates with many UPS models

Provides critical alerts and automation

Highly customizable and extensible

Cons

Can have a steep learning curve

Limited official support and documentation

Requires some command line configuration

Not all UPS devices fully supported

Complex for basic UPS monitoring needs

Official Links

The Best Network UPS Tools Alternatives

Top

Network & Admin
and
Server Management

and other similar apps like Network UPS Tools

WinNUT-Client

WinNUT-Client is a free, open-source Windows application that interfaces with uninterruptible power supplies (UPSs) and other power devices using the Network UPS Tools (NUT) monitoring protocol. It provides a graphical user interface to check the status of UPSs and other NUT-compatible hardware on a local network.Some of the key features…

WinNUT-Client image

UPS Assistant

UPS Assistant is a desktop application developed by United Parcel Service to help streamline the shipping process for high volume shippers. Some key features of UPS Assistant include:Shipment Preparation — Enter shipment details like ship to/from addresses, package weight and dimensions, and declared value. Print shipping and return labels.Tracking -…

UPS Assistant image

Winpower

Winpower is an electrical engineering software suite developed by CIMTEC Automation specifically for the design, simulation, and analysis of industrial electrical control systems. It integrates tools for schematic design, PLC programming, HMI development, and system simulation into a single intuitive platform.Key features of Winpower include:Intuitive schematic editing tools for drawing…

Winpower image

Всем известно, что для защиты от сбоев электропитания нужно купить бесперебойник. Но сам по себе источник бесперебойного питания не решает проблему, а только отсрочивает негативные последствия. Действительно, если питание пропадет надолго, то после разрядки батарей ИБП ваши системы аварийно завершат работу. Избежать этого позволяют модели, имеющие обратную связь, но, чтобы использовать эти возможности нам потребуется система управления электропитанием и сегодня мы расскажем об открытом и бесплатном продукте — NUT (Network UPS Tools).

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе «Архитектура современных компьютерных сетей» вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Почему именно NUT? Ведь многие производители ИБП предлагают собственные утилиты, в т.ч. и под Linux, при этом они явно лучше знают свою продукцию. В теории это так, но практика вовсе не так радужна. Во-первых, качество «родного» ПО очень сильно отличается от вендора к вендору. Где-то это вполне неплохие решения, а где-то лютая мешанина скриптов, бинарников и устаревших технологий.

Кроме того, ИБП у вас может быть не один, причем разных производителей и устраивать зоопарк проприетарного ПО — не самый лучший вариант. Что касается второго аргумента, то существует UPS management protocolRFC 9271, если бесперебойник его поддерживает, то все равно какое ПО мы будем использовать для работы с ним.

NUT — это открытое программное обеспечение, поддерживающее большое количество источников бесперебойного питания и предоставляющее единый интерфейс работы с ними, кроме того оно работает в клиент-серверном режиме что позволяет организовать сетевое управление электропитанием, это удобно, когда к одному бесперебойнику подключено несколько компьютеров. С полным списком поддерживаемых устройств вы можете ознакомиться на официальном сайте: https://networkupstools.org/stable-hcl.html

Структурно NUT состоит из трех основных частей:

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

Важный момент! Сервер NUT никак не связывается с клиентами и не передает им никаких команд, все решения принимает клиент, который при помощи службы мониторинга получает с сервера состояние выбранного ИБП и сообщения от него, на основании которых затем предпринимаются некоторые действия.

Таким образом один сервер NUT может контролировать сразу несколько физически подключенных к нему через интерфейс обратной связи ИБП и предоставлять информацию об их состоянии клиентам через локальную сеть. Это позволяет реализовывать достаточно сложные схемы управления электропитанием, наподобие приведенной ниже:

installing-and-configuring-nut-001.png

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

Установка NUT и настройка драйвера ИБП

Установка NUT проста, в Debian / Ubuntu существует одноименный метапакет, который устанавливает сразу и сервер, и клиент. В других системах обратитесь к документации по доступным пакетам.

apt install nut

Теперь подключим к серверу ИБП и перезагрузим систему, после чего попробуем автоматически определить его настройки при помощи служебного пакета nut-scanner:

nut-scanner

Утилита просканирует все доступные интерфейсы и выведет готовые параметры подключения для обнаруженных устройств, в нашем случае был найдет ИБП серии PowerCom Smart King Pro+ подключенный через USB.

installing-and-configuring-nut-002.png

Фактически это готовые опции для настройки драйвера, советуем сохранить их для использования в дальнейшем. Теперь откроем файл /etc/nut/ups.conf и в самый конец добавим секцию, аналогичную указанной выше. В квадратных скобках указываем желаемое имя, ниже следуют опции подключения. В минимальной конфигурации будет достаточно первых двух: driver и port. Если предполагается использовать несколько ИБП, то мы можем уточнить производителя и модель: vendorid и productid, а вот опцию bus — лучше не использовать, при переключении ИБП в другой разъем она изменится. В случае использования нескольких ИБП одной модели лучше использовать другую опцию — serial с указанием серийного номера устройства.

Также мы советуем изучить документацию производителя, многие из них указывают рекомендуемые конфигурации драйвера для работы с NUT, например, для PowerCom у нас вышло следующее:

[powercom1]
driver = usbhid-ups
port = auto
vendorid = 0d9f
productid = 0004
serial = AAA-BBBB-CCC
pollonly

Последняя опция как раз взята из рекомендаций производителя, без нее ИБП работал с NUT нестабильно, периодически отваливаясь, что требовало либо его переподключения, либо перезагрузки компьютера.

Теперь проверим работу драйвера:

upsdrvctl start

Если все сделано правильно, то вы увидите что-то подобное:

installing-and-configuring-nut-003.png

Как видим, драйвер запустился нормально и увидел наш ИБП, теперь остановим его, чтобы избежать конфликтов при дальнейшей настройке.

upsdrvctl stop

Если же драйвер запускается с ошибками попробуйте переключить ИБП в другой разъем или перезагрузить компьютер.

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

Прежде всего откроем /etc/nut/nut.conf и установим режим работы:

MODE=netserver

Для сервера доступны режимы:

  • standalone — сервер запущен локально и принимает соединения только на localhost, используется для управления локально подключенным ИБП, который не питает других ПК,
  • netserver — сетевой режим, сервер принимает соединения по локальной сети, подходит для построения сетевой системы управления питанием.

Мы сразу будем настраивать сетевой режим, большинство настроек при этом не будут отличаться от локальных, поэтому вы также можете настроить и локальный режим по этой инструкции.

Теперь перейдем в /etc/nut/upsd.conf, в нем нам потребуется указать сетевые опции, а именно адрес и порт, на котором будет принимать подключения сервер:

LISTEN 127.0.0.1 3493
LISTEN 192.168.99.120 3493

Обратите внимание на регистр написания, название опции должно быть обязательно в верхнем регистре, для локального режима достаточно будет только указания первой строки.

Следующим шагом заведем пользователей в файле /etc/nut/upsd.users. Мы рекомендуем, как минимум, завести административного пользователя, который будет иметь права менять настройки UPS и пользователей для чтения данных состояния бесперебойника. Вы можете завести разные учетные данные для разных ПК или одну на всех — выбор остается за вами. В нашем случае содержимое файла выглядит так:

[upsadmin]
password = Pa$$word_1
actions = SET
instcmds = ALL
[upsmon-m]
password = 123456789
upsmon master
[upsmon-s]
password = 987654321
upsmon slave

В нашем случае мы завели трех пользователей: административного, пользователя локального клиента (master) и удаленных клиентов (slave).

Сохраним все изменения и попробуем запустить службу сервера и сразу проконтролируем ее статус:

systemctl start nut-server
systemctl status nut-server

installing-and-configuring-nut-004.png

Теперь можем получить данные о состоянии ИБП командой:

upsc powercom1@localhost

Где мы указываем имя нашего драйвера и имя или адрес узла, на котором запущена серверная часть NUT.

В выводе мы можем увидеть частоту и напряжение на входе и на выходе устройства, текущую нагрузку в процентах (ups.load) и статус бесперебойника, который может иметь следующие значения:

  • OL — On Line — работа от сети
  • OB — On Battery — работа от батареи
  • LB — Low Battery — низкий заряд батареи

Как мы уже говорили, сам сервер не предпринимает никаких действий, а только получает данные от ИБП и предоставляет их клиентам, но именно состояние LB служит триггером для службы мониторинга инициирующим выключение устройств.

Настройка службы мониторинга в Linux

Начнем с локального сервера, клиентская часть здесь уже установлена, поэтому просто откроем файл /etc/nut/upsmon.conf и добавим в него строку:

MONITOR powercom1@localhost 1 upsmon-m 123456789 master

Разберем указанные опции: powercom1@localhost — указывают имя драйвера и сервер NUT, следующая за ними единица говорит о том, что питание устройства следует отключить, для отладки можно временно указать там ноль, в этом случае будут генерироваться все события и записи в логах, но отключение питания производиться не будет. Затем указываем имя пользователя и пароль, а также тип устройства — master, это говорит о том, что перед нами головное устройство и оно будет выключено только после того, как выключатся все подчиненные компьютеры.

Запустим службу мониторинга:

systemctl start nut-monitor

Остальные параметры можно оставить по умолчанию. Но следует обратить внимание на опции NOTIFYFLAG, которые описывают реакцию службы на те или иные события. По умолчанию, когда опция закомментирована, применяются действия SYSLOG и WALL, т.е. пишется событие в системный лог и отправляется сообщение всем залогиненым пользователям.

Дополнительно можно включить выполнение скрипта действием EXEC, сам скрипт общий для всех событий и указывается в опции NOTIFYCMD, само событие и реакцию на него следует определять в самом скрипте, но это уже выходит за рамки данной статьи, поэтому рекомендуем обратиться к документации.

На удаленных устройствах нам нет необходимости устанавливать все пакеты, достаточно только клиентского:

apt install nut-client

После чего откроем /etc/nut/nut.conf и укажем режим работы:

MODE=netclient

Затем в /etc/nut/upsmon.conf внесем строку:

MONITOR powercom1@192.168.99.120 1 upsmon-s 987654321 slave

Мы не будем подробно разбирать синтаксис, так как это сделали выше, отметим изменения. При указании драйвера и узла мы использовали IP-адрес сервера NUT (можно также его FQDN), а в конце строки указали slave, что обозначает подчиненный мониторинг, кроме состояния ИБП он отслеживает также команды от головного мониторинга (master). Понятно, что в качестве драйвера следует указывать именно тот ИБП, к которому физически подключен данный узел.

После чего точно также запускаем службу:

systemctl start nut-monitor

Для проверки получим сведения об ИБП:

upsc powercom1@192.168.99.120

Для просмотра подключенных клиентов выполните команду:

upsc -с powercom1@192.168.99.120

installing-and-configuring-nut-005.png

А теперь как это все работает, мы не будем углубляться в подробности, а представим максимально упрощенную схему, достаточную для понимания происходящих событий.

  • Батареи ИБП разряжаются, и он переходит в состояние LB
  • Мониторинг master-узла получает этот статус и выставляет флаг FSD (forced shutdown)
  • Мониторинг slave-узлов видит этот флаг и инициирует выключение
  • Master-узел ждет отключения подчиненных узлов и выставляет флаг POWERDOWNFLAG
  • При необходимости master завершает свою работу и выключает ИБП

Последний момент очень важен, потому что если после того, как slave-узлы будут выключены, подача питания возобновится, то ИБП не выключится и повторного запуска подключенных устройств не произойдет. Поэтому master узел в обязательном порядке выключает ИБП, чтобы при его последующем включении произошел запуск всех подключенных к нему устройств.

Настройка службы мониторинга в Windows

Сервер NUT может управлять и Windows-клиентами, для этого нужно установить один из клиентов NUT, мы используем WinNUT-Client, он поставляется в виде MSI-пакета и проблем с его установкой возникнуть не должно. Настройки его также просты: указываем адрес и порт сервера, имя драйвера, логин и пароль.

installing-and-configuring-nut-006.png

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

installing-and-configuring-nut-007.png

Как видим, настроить NUT просто, но данная статья и близко не затронула всех возможностей этой системы. Пока что мы организовали базовую систему централизованного управления электропитанием, но при желании ее можно бесконечно улучшать и дополнять, благо проект прекрасно документирован.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе «Архитектура современных компьютерных сетей» вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Windows 10 раздают бесплатно
  • Установить бесплатно офис 2010 полную версию для windows 10
  • Windows sdk for windows x64
  • Wsa windows subsystem for android windows 10
  • Alc888 driver windows 7