NUT
Краткое описание. Если кто возьмётся дополнить чем либо, будет очень хорошо.
Настройка nut на примерах Eaton Ellipse ECO 800 и RUCELF UPI-1000-12-EL.
Конфигурация
Установка пакетов:
- nut
- nut-server
Конфигурационные файлы расположены в /etc/nut/
определение драйвера для ИБП
Начинаем с просмотра https://networkupstools.org/stable-hcl.html потом https://networkupstools.org/ddl/ потом гуглим модель и внимательно смотрим https://networkupstools.org/stable-hcl.html?manufacturer=Various
может помочь nut-scanner. Пример результата для RUCELF UPI-1000-12-EL:
# nut-scanner IPMI library not found. IPMI search disabled. Scanning USB bus. No start IP, skipping SNMP No start IP, skipping NUT bus (old connect method) Scanning NUT bus (avahi method). [nutdev1] driver = "blazer_usb" port = "auto" vendorid = "0001" productid = "0000" bus = "001"
Заметим, что в случае RUCELF UPI-1000-12-EL nut-scanner догадался о протоколе (и драйвере blazer_usb) но в данной модели ИБП протокол ьреализован криво. С базовыми настройками ИБП не запустился, чтение документации( man 8 blazer_usb) помогло найти нужный костыль langid_fix = 0x409.
подключение
usb
Находим устройство в выводе команды
$ lsusb Bus 001 Device 016: ID 0001:0000 Fry's Electronics USB OPTICAL MOUSE ...
Да, USB OPTICAL MOUSE -- id 0001:0000 был в кривой прошивке Krauler UP-M500VA, с которым данное устройство СОВМЕСТИМО (Путем передирания прошивки?) :^( .
смотрим, чтобы у устройства была группа upsmon:
$ l /dev/bus/usb/001/ итого 0 crw-rw-rw- 1 root upsmon 189, 15 авг 21 21:00 016 ...
если нет, то добавляем свои udev rules по образцу
/lib/udev/rules.d/98-nut-usbups.rules
rs232
читаем документацию по подключению. Устройство может подключаться нестандартным кабелем. Если комплектный кабель утерян, придется паять - обжимать самостоятельно.
ups.conf
Вписать в ups.conf описание ИБП:
[eaton] port = auto driver = usbhid-ups desc = "Eaton Ellipse 800"
или
[rucelf] driver = blazer_usb langid_fix = 0x409 port = auto vendorid = 0001 productid = 0000 desc = "RUCELF UPI-1000-12-EL"
Тестируем наше описание ИБП в ups.conf:
# upsdrvctl -u upsdrv start Network UPS Tools - UPS driver controller 2.7.4 Network UPS Tools - Megatec/Q1 protocol USB driver 0.12 (2.7.4) Supported UPS detected with megatec protocol Vendor information read in 1 tries No values provided for battery high/low voltages in ups.conf
Using 'guestimation' (low: 0.000000, high: 0.000000)! Battery runtime will not be calculated (runtimecal not set)
останавливаем демон upsdrv.
upsdrvctl -u upsdrv stop
Заметим, что upsdrv (драйвер ups) начиная с дистрибутивов восьмой версии ALT
запускается сервисом nut-server автоматически, настраивать его не нужно.
до 7-й версии ALT Linuх нужно было запустить драйвер ups (sysvinit): service upsdrv start (УСТАРЕЛО).
upsd.conf
вписываем
LISTEN 127.0.0.1 3493 LISTEN ::1 3493
По умолчанию разрешено обращаться только с localhost.
upsmon.conf
Создаем секретного пользователя для мониторинга: useradd -r -d /dev/null -s /sbin/nologin -p <ups-monitor-secret-password> ups-monitor-secret-user
Добавляем строку в upsmon.conf:
MONITOR eaton@localhost 1 ups-monitor-secret-user <ups-monitor-secret-password> master
или
MONITOR ruself@localhost 1 ups-monitor-secret-user <ups-monitor-secret-password> master
Для отладки, на первое время, можно поменять в строке 1 на 0:
MONITOR ruself@localhost 0 ups-monitor-secret-user <ups-monitor-secret-password> master
чтобы только мониторить, не пытаться выключить машину.
nut.conf
ставим
MODE=standalone
Запуск
(systemd, начиная с дистрибутивов восьмой версии ALT):
systemctl start nut-server systemctl enable nut-server
Запустить монитор (systemd, начиная с дистрибутивов ALT 8.0):
systemctl start nut-monitor systemctl enable nut-monitor
Запуск до до 8-й версии ALT Linux
УСТАРЕЛО!!!
(sysvinit, до 8-й версии ALT Linux):
# УСТАРЕЛО!!! service upsdrv start service upsd start
Запустить монитор (sysvinit, до 8-й версии ALT Linux)::
# УСТАРЕЛО!!! service upsmon start
дополнительно
Необходимо удостовериться что настроен автоматический запуск сервисов (chkconfig, для 7-й версии и systemctl enable <сервис> начиная с 8-й).
Можно сделать какие либо дополнительные настройки, но из коробки в общем просто работает.
получение информации
upsc eaton@127.0.0.1
или
upsc rucelf@127.0.0.1