Для наблюдения за источниками бесперебойного питания в Linux существуют разные инструменты, как предоставляемые поставщиками "бесперебойников" так и сторонние. Последние чаще всего немного сложнее в настройке но зато предоставляют более широкие возможности.
Из сторонних инструментов наиболее широкими возможностями обладают apcupsd и Network UPS Tool (NUT). Далее будет приведён пример использования NUT для мониторинга состояния бытового ИБП.
NUT это клиент-серверный инструмент: сервер взаимодействует с источниками бесперебойного питания и предоставляет универсальный интерфейс для получения информации клиентам. Клиенты обращаются к NUT-серверу, запрашивают информацию и меняют параметры ИБП через тот же универсальный интерфейс.
В случае персонального компьютера сервер и клиент "поднимаются" на одной машине, но взаимодействуют между собой так же, как если бы они находились на разных хостах в сети.
Приступаем к настройке. Начальные условия: ИБП IPPON BACK Basic 650VA, питающий домашний медиа-центр под управлением Xubuntu 16.04, на котором мы и запустим NUT.
Установим необходимые пакеты:
apt-get install nut-server nut-client nut-monitor
Открываем в редакторе файл "/etc/nut/ups.conf" и добавляем в конце описание нашего ИБП:
[main] driver = blazer_usb port = auto desc = IPPON BACK Basic 650VA
В квадратных скобках указывается имя ИБП. Если к серверу подключено несколько ИБП то для каждого необходимо указывать уникальное имя. Остальные параметры:
- driver: драйвер для взаимодействия с устройством. В выборе драйвера полезным может быть файл "/usr/share/nut/driver.list" из поставки nut-server.
- port: имя файла устройства. Если ИБП один то можно указать "auto".
- desc: Описание ИБП. Произвольная строка.
Длаее нам надо открыть файл "/etc/nut/upsd.users" и добавить пользователя, который сможет обращаться к серверу для наблюдения за ИБП:
[upsmon] password = m0np4ss actions = SET FSD instcmds = ALL upsmon master
Здесь в квадратных скобках указывается логин. Остальные поля:
- password: пароль пользователя.
- actions: допустимые действия ("SET" - изменение параметров ИБП, "FSD" - возможность выключения ИБП).
- instcmds: допустимые команды. Значение "ALL" разрешает любые команды. За подробностями лучше всего обратиться к man-странице "upsd.users".
- upsmon: тип пользователя. За подробностями так же лучше всего обратитсья к документации.
Далее нужно описать подключение NUT Client к серверу под созданным выше пользователем в файле "/etc/nut/upsmon.conf". Для этого достатоно добавить в файл одну строку:
# Строка имеет вид: # MONITOR имя_ИБП@хост номер_ввода юзер пароль тип_юзера # # номер_ввода в данном случае означает номер электрического ввода # на бытовых ИБП он только один и соответственно должен принимать значение "1" MONITOR main@localhost 1 upsmon m0np4ss master
Закончив настройку перезапустим nut-server и nut-client:
service nut-server restart service nut-client restart
На этом начальная настройка заканчивается и теперь можно запусть графическую утилиту мониторинга из меню: «Интернет» -> «NUT Monitor»:
С помощью этого приложения можно видеть загрузку ИБП, заряд батареи, температуру на ИБП и ряд других параметров. Кроме того приложение добавляет в системный лоток иконку, показывающую текущий статус ИБП и отображающую во всплывающей подсказке краткую сводку:
На этом пока всё. Приятной работы и стабильного электропитания!:)