ИБП STARK COUNTRY 1000 ONLINE для котла, дачи - подключаем к Raspberry PI, мониторим через Zabbix, получаем уведомления при сбоях на email

t.me/freebsd2022 (https://t.me/freebsd2022) 30.12.2023December 30, 2023

Бесперебойник STARK COUNTRY 1000 ONLINE для котла, дачи - подключаем к Raspberry PI, мониторим через Zabbix, получаем уведомления при сбоях на email.

(!) Человек часто делает ошибки. Более того, он всю жизнь только и занимается тем, что делает ошибки. Не ошибается тот, кто ничего не делает. Главное вовремя заметить ошибку и исправить ее. (Ги де Мопассан)

(!!) Статья не является рекламой. Описан реальный пример использования.

Цель статьи - описать реальный пример мониторинга UPS, который используется для котла на даче. В статье рассмотрим подключение UPS к Raspberry PI по USB, а также настройку мониторинга Zabbix (в т.ч. на удалённом сервере) для этого UPS. Покажем примеры графиков и уведомлений.

ИБП STARK COUNTRY 1000 ONLINE для котла, дачи - подключаем к Raspberry PI, мониторим через Zabbix, получаем уведомления при сбоях на email UPS, ИБП, Zabbix, Raspberry pi, Дача, Котел, Умный дом, Длиннопост

Zabbix - Stark1000 voltage graph

ИБП STARK COUNTRY 1000 ONLINE для котла, дачи - подключаем к Raspberry PI, мониторим через Zabbix, получаем уведомления при сбоях на email UPS, ИБП, Zabbix, Raspberry pi, Дача, Котел, Умный дом, Длиннопост

STARK COUNTRY 1000 ONLINE 16А

Задача сводится к шагам:

1. подключение UPS STARK COUNTRY 1000 ONLINE к Raspberry PI

2. настройка ПО на малине (nut)

3. подключаем малину к удалённому серверу по ВПН с реконектом

4. настройка мониторинга UPS в Zabbix на удалённом сервере

5. графики, примеры уведомлений


Сначала несколько вводных, вопросы-ответы:

  • почему именно этот UPS используем? Только по той причине, что он был несколько лет назад (на момент монтажа оборудования) одним из самых доступных по цене (порядка 15-20КРуб + каждый АКБ по 8-10КРуб); сейчас такой комплект будет стоить раза в 1.5-2 дороже. Также важное свойство этого аппарата - онлайн-переключение и синусоида на выходе. Даже хорошие APC Smart-UPS не дают синус на выходе

  • почему Raspberry PI? Примерно по той же причине - была под рукой при монтаже, низкое энергопотребление, можно запитать от того же UPS. Данные по малине:

# cat /proc/cpuinfo|grep Model

Model  : Raspberry Pi 3 Model B Rev 1.2

# cat /etc/os-release|grep PRETTY_NAME

PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"

  • почему Zabbix? Потому что ПО хорошо мониторит железо/ОС, поддерживает много устройств, есть простые графики и уведомления по email/смс/telegram

  • почему Zabbix установлен на удалённом сервере? Естественно по причине того, что мониторить устройства надо с максимально стабильного канала. Если за городом пропадает связь/электричество, там же (рядом) ставить Zabbix нелогично

  • какой софт используем? Небольшой список:

Nut https://networkupstools.org/

Zabbix https://www.zabbix.com/ru (у нас старая версия 2.4.8)

raspbian https://www.raspberrypi.com/software/operating-systems/ (у нас buster 5.10.52-v7+ #1441 SMP Tue Aug 3 18:10:09 BST 2021 armv7l GNU/Linux)


Шаг 1 - подключаем UPS к малине по USB

UPS STARK COUNTRY 1000 ONLINE/Raspberry Pi 3 Model B

Шаг 2 - настраиваем взаимодействие малины с UPS. Нам нужен nut, поставим его. После подключения UPS по USB проверяем его видимость в системе (Device 095):

root@:/etc/zabbix/zabbix_agentd.d# lsusb

Bus 001 Device 095: ID 0665:5161 Cypress Semiconductor USB to Serial

Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter

Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Полезно посмотреть список поддерживаемых устройств:

# more /usr/share/nut/driver.list|grep blazer_usb

... список довольно значительный ...

# more /usr/share/nut/driver.list|grep '0665:5161'

"Sweex" "ups"  "2"  "INTELLIGENT UPS 1500VA P220"  "USB"  "blazer_usb (USB ID 0665:5161)" # http://www.sweex.com/en/notebook-pc-accessoires/ups/PP220/

По последней команде находим драйвер blazer_usb и пишем в конфиг:

/etc/nut# more ups.conf

MODE=standalone

[stark1000]

driver = blazer_usb

port = auto

desc = "Stark1000"

ondelay = 7

Остальные настройки nut также опустим, пока не нужны. Нам важно запомнить, как будем обращаться к UPS - stark1000@localhost (обратим внимание на ups.vendorid=0665). Тест соединения:

# upsc Stark1000@localhost

Init SSL without certificate database

battery.charge: 100

battery.voltage: 27.24

battery.voltage.high: 26.00

battery.voltage.low: 20.80

battery.voltage.nominal: 24.0

device.mfr:

device.model: OLHV1K0L

device.type: ups

driver.name: blazer_usb

driver.parameter.ondelay: 7

driver.parameter.pollinterval: 2

driver.parameter.port: auto

driver.parameter.synchronous: no

driver.version: 2.7.4

driver.version.internal: 0.12

input.current.nominal: 4.0

input.frequency: 50.0

input.frequency.nominal: 50

input.voltage: 229.2

input.voltage.fault: 229.0

input.voltage.nominal: 220

output.voltage: 219.4

ups.beeper.status: enabled

ups.delay.shutdown: 30

ups.delay.start: 420

ups.firmware: 02345.00

ups.load: 1

ups.mfr:

ups.model: OLHV1K0L

ups.productid: 5161

ups.status: OL

ups.temperature: 28.2

ups.type: online

ups.vendorid: 0665

Что можно еще проверить:

# upscmd -l Stark1000@localhost

Instant commands supported on UPS [Stark1000]:

beeper.toggle - Toggle the UPS beeper

load.off - Turn off the load immediately

load.on - Turn on the load immediately

shutdown.return - Turn off the load and return when power is back

shutdown.stayoff - Turn off the load and remain off

shutdown.stop - Stop a shutdown in progress

test.battery.start - Start a battery test

test.battery.start.deep - Start a deep battery test

test.battery.start.quick - Start a quick battery test

test.battery.stop - Stop the battery test

Проверка доступа udev к устройству:

# upsdrvctl 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: 20.800000, high: 26.000000)!

Battery runtime will not be calculated (runtimecal not set)

Broadcast message from nut@localhost (somewhere) (Sat Dec 30 02:20:21 20

Communications with UPS stark1000@localhost established

Шаг 3 - описан в статье https://telegra.ph/Primery-ispolzovaniya-na-praktike-mpd5-pod-FreeBSD---Multi-link-PPP-daemon-04-22 про mpd5. Суть его в том, что по ВПН малина подключается в одну сеть с сервером Zabbix, тогда снятие параметров малины упрощается. Также используется реконект, если у малины моргнет канал, или будет сбой по питанию.

Шаг 4 - в Zabbix agent на Raspberry PI используем следующие настройки:

/etc/zabbix# more zabbix_agentd.conf|grep UserParameter

#  Format: UserParameter=<key>,<shell command>

# UserParameter=

UserParameter=UPSStatus,apcaccess | awk '/^(STATUS).*:/ { print $3 }'

UserParameter=UPSBcharge,apcaccess | awk '/^(BCHARGE).*:/ { print $3 }'

UserParameter=UPSTimeleft,apcaccess | awk '/^(TIMELEFT).*:/ { print $3 }'

UserParameter=UPSALL,apcaccess

UserParameter=upsmon[*],/etc/zabbix/sh/ups_status.sh $1 $2

UserParameter=raspberry_pi[*],/etc/zabbix/sh/raspberry_pi.sh $1

То есть снимаем с UPS параметры - заряд, частоту, загрузку, температуру и вольтаж:

ИБП STARK COUNTRY 1000 ONLINE для котла, дачи - подключаем к Raspberry PI, мониторим через Zabbix, получаем уведомления при сбоях на email UPS, ИБП, Zabbix, Raspberry pi, Дача, Котел, Умный дом, Длиннопост

Zabbix - UPS parameters

Шаг 5 - опишем важное для нашего случая (рассказывать про подключение мониторинга нового linux-сервера в zabbix не будем). Штатно подключаем наш сервер, на графиках будут видны перечисленные в шаге 4 параметры:

ИБП STARK COUNTRY 1000 ONLINE для котла, дачи - подключаем к Raspberry PI, мониторим через Zabbix, получаем уведомления при сбоях на email UPS, ИБП, Zabbix, Raspberry pi, Дача, Котел, Умный дом, Длиннопост

Charge

При отключениях питания получаем штатные уведомления Zabbix, например, на почту на телефоне в виде писем Problem/OK:

ИБП STARK COUNTRY 1000 ONLINE для котла, дачи - подключаем к Raspberry PI, мониторим через Zabbix, получаем уведомления при сбоях на email UPS, ИБП, Zabbix, Raspberry pi, Дача, Котел, Умный дом, Длиннопост

mail Problem/OK from Zabbix

Также видим интервал пропадания питания на графике:

ИБП STARK COUNTRY 1000 ONLINE для котла, дачи - подключаем к Raspberry PI, мониторим через Zabbix, получаем уведомления при сбоях на email UPS, ИБП, Zabbix, Raspberry pi, Дача, Котел, Умный дом, Длиннопост

No power interval on UPS

Долгих аптамов! С наступающим НГ2024!

ИБП STARK COUNTRY 1000 ONLINE для котла, дачи - подключаем к Raspberry PI, мониторим через Zabbix, получаем уведомления при сбоях на email UPS, ИБП, Zabbix, Raspberry pi, Дача, Котел, Умный дом, Длиннопост

uptime