mirror of
https://codeberg.org/postscriptum/gemlog.git
synced 2026-02-18 22:12:40 +00:00
add monitoring-ups-status-on-linux-with-nut.gmi
This commit is contained in:
parent
2d6f200e0c
commit
af945e98aa
2 changed files with 125 additions and 0 deletions
|
|
@ -16,6 +16,7 @@
|
|||
|
||||
### Нотатки
|
||||
|
||||
=> monitoring-ups-status-on-linux-with-nut.gmi 2026-02-09 Моніторинг статусу UPS в Linux на прикладі NUT
|
||||
=> measuring-220v-ac-mains-frequency-acoustic-method.gmi 2026-02-08 Вимірювання частоти змінного струму 220В акустичним способом
|
||||
=> access-https-websites-on-android-2.3.6-with-opera-mini-19.gmi 2026-02-07 HTTPs на Android 2.3.6 з Opera Mini
|
||||
=> connecting-znc-bouncer-to-libera-chat-irc-via-tor.gmi 2026-02-03 Підключення баунсера ZNC до Libera.Chat/IRC через Tor
|
||||
|
|
|
|||
124
public/uk/monitoring-ups-status-on-linux-with-nut.gmi
Normal file
124
public/uk/monitoring-ups-status-on-linux-with-nut.gmi
Normal file
|
|
@ -0,0 +1,124 @@
|
|||
# Моніторинг статусу UPS в Linux на прикладі NUT
|
||||
|
||||
За весь час користування Linux, жодного разу не задумувався про моніторинг безперебійного блоку живлення від ПК, адже він є повністю автономним: завчасно сигналізує про різні проблеми з мережею за допомогою звукових сигналів та автоматично вимикається при досягненні мінімального порогу розряду батарей.
|
||||
|
||||
Але днями виникла задача поміряти частоту мережі, в контексті роботи котла опалювання в умовах перебоїв зі світлом. Не купуючи спеціальний прилад, спочатку було вирішив зняти частоту з трансформатора акустичним способом. Утім згодом, акустичні показники почали збивати мене з толку і я задумався чи не забув про ще якийсь альтернативний індикатор напруги A/C 220V. І тут згадав про порт USB в UPS - поліз в гугл та дізнався, що дійсно, аналіз частоти в моєму UPS дійсно є і безперебійник може йти в захист, якщо це значення виходить за межі допустимого діапазону 50 Гц. Тому занотую цю знахідку для себе та інших!
|
||||
|
||||
## NUT
|
||||
|
||||
NUT (Network UPS Tools) - це програмний комплекс з відкритим кодом для моніторингу статусу безперебійних блоків живлення (UPS), що поширюється за ліцензією GNU/GPL; отже є доступним у всіх дистрибутивах Linux. Все, що потрібно - нагуглити назву драйверу сумісного з вашою моделлю UPS. Я ж наведу історію свого налаштування сервера NUT на прикладі Mustek 1060 в Fedora 43, використовуючи специфіку її шляхів файлової системи і пакетного менеджера.
|
||||
|
||||
### Підключення
|
||||
|
||||
Спочатку, під'єднуємо кабель USB від UPS до ПК і перевіряємо наявність пристрою:
|
||||
|
||||
``` bash
|
||||
$ lsusb
|
||||
...
|
||||
Bus 003 Device 006: ID 0665:5161 Cypress Semiconductor USB to Serial
|
||||
```
|
||||
* пристрій має бути підключено до мережі 220 Вольт, але не обов'язково увімкненим
|
||||
|
||||
### Встановлення
|
||||
|
||||
``` bash
|
||||
sudo dnf install nut nut-client
|
||||
```
|
||||
|
||||
Редагуємо файл конфігурації, відповідно до моделі UPS:
|
||||
|
||||
``` /etc/ups/ups.conf
|
||||
[mustek]
|
||||
driver = nutdrv_qx
|
||||
port = auto
|
||||
vendorid = 0665
|
||||
productid = 5161
|
||||
subdriver = cypress
|
||||
desc = "Mustek PowerMust 1060"
|
||||
```
|
||||
* можливо, комусь згодиться драйвер `blazer_usb`
|
||||
|
||||
Тепер потрібно підтягнути вказаний в налаштуваннях драйвер:
|
||||
|
||||
``` bash
|
||||
sudo upsdrvctl start
|
||||
```
|
||||
|
||||
Перевіряємо, чи пристрій визначено:
|
||||
|
||||
``` bash
|
||||
$ sudo upsdrvctl status
|
||||
|
||||
Network UPS Tools upsdrvctl - UPS driver controller 2.8.4 release
|
||||
UPSNAME UPSDRV RUNNING PF_PID S_RESPONSIVE S_PID S_STATUS
|
||||
mustek nutdrv_qx RUNNING 34115 RESPONSIVE 34115 "OL"
|
||||
```
|
||||
|
||||
Запускаємо сервер: він використовується для збору показників з UPS та взаємодії з сокетом клієнтського API, CLI, GUI або WebUI (для останнього - окремо знадобиться встановлення `nut-cgi` та конфігурація `httpd`)
|
||||
|
||||
``` bash
|
||||
sudo systemctl restart nut-server
|
||||
```
|
||||
* щоб автоматично запускати сервер при старті системи, слідом виконується аналогічна команда з `enable` замість `replace`
|
||||
|
||||
Окремо, можна запустити демон інтеграції з середовищем операційної системи. Це може згодитись у випадках, якщо потрібно надсилати сповіщення або керувати живленням підключеного клієнта. Особисто мені це не потрібно, але така можливість в NUT є з коробки:
|
||||
|
||||
``` bash
|
||||
sudo systemctl restart nut-monitor
|
||||
```
|
||||
|
||||
Нарешті, коли сервіси активні - можна зняти показники, найпростіше це зробити в CLI:
|
||||
|
||||
``` bash
|
||||
$ upsc mustek@localhost
|
||||
|
||||
battery.charge: 100
|
||||
battery.voltage: 13.2
|
||||
battery.voltage.high: 13.00
|
||||
battery.voltage.low: 10.40
|
||||
battery.voltage.nominal: 12.0
|
||||
device.type: ups
|
||||
driver.debug: 0
|
||||
driver.flag.allow_killpower: 0
|
||||
driver.name: nutdrv_qx
|
||||
driver.parameter.pollfreq: 30
|
||||
driver.parameter.pollinterval: 2
|
||||
driver.parameter.port: auto
|
||||
driver.parameter.productid: 5161
|
||||
driver.parameter.subdriver: cypress
|
||||
driver.parameter.synchronous: auto
|
||||
driver.parameter.vendorid: 0665
|
||||
driver.state: quiet
|
||||
driver.version: 2.8.4
|
||||
driver.version.data: Voltronic-QS 0.10
|
||||
driver.version.internal: 0.45
|
||||
driver.version.usb: libusb-1.0.29 (API: 0x0100010B)
|
||||
input.voltage: 222.7
|
||||
input.voltage.fault: 223.2
|
||||
output.current.nominal: 3.0
|
||||
output.frequency: 52.7
|
||||
output.frequency.nominal: 50
|
||||
output.voltage: 223.7
|
||||
output.voltage.nominal: 220
|
||||
ups.beeper.status: enabled
|
||||
ups.delay.shutdown: 30
|
||||
ups.delay.start: 180
|
||||
ups.firmware.aux: PM-V
|
||||
ups.load: 0
|
||||
ups.productid: 5161
|
||||
ups.status: OL
|
||||
ups.type: offline / line interactive
|
||||
ups.vendorid: 0665
|
||||
```
|
||||
* назва користувача `mustek` є відповідною до рядка `[mustek]` у файлі конфігурації `/etc/ups/ups.conf`
|
||||
|
||||
У прикладі вище, мене цікавив саме рядок `input.frequency`, але як видно, мені доступний тільки `output.frequency: 52.7`. Він хоч й `output` але при активному живленні в `ups.type: offline / line interactive` - йде пряме живлення від мережі, отже частота має бути приблизно такою само, як і на умовному `input`. Коли UPS піде в захист, то вступить в роботу інвертор і користі від такого вимірювання "зовнішньої" частоти вже буде ніякої.
|
||||
|
||||
## Посилання
|
||||
|
||||
=> https://en.wikipedia.org/wiki/Network_UPS_Tools
|
||||
|
||||
### Дивіться також
|
||||
|
||||
=> measuring-220v-ac-mains-frequency-acoustic-method.gmi Вимірювання частоти змінного струму 220В акустичним способом
|
||||
=> diy-online-router-ups-based-on-interactive-pc-ups.gmi Саморобний online-UPS для роутера на базі 12В безперебійника для ПК
|
||||
Loading…
Add table
Add a link
Reference in a new issue