Настройка мониторинга FinePower-3000

Средний рейтинг
Еще нет оценок

Всем привет.

Знакомый приобрел для своей фирмы ИБП и попросил настроить мониторинг через Zabbix Server.

ИБП бюджетный и SNMP-карта в комплект не входит, так по самому ИБП информации мало.

Был рассмотрен вариант мониторинга без покупки карты: использовать nut-server + USB кабель (идет в комплекте).

Итак….

Инфраструктура в которой проводилась настройка:

  • UPS: FinePower Rack-3000
  • Ubuntu Server: 24.04
  • NUT: 2.8.0
  • Zabbix: 7.4

Вариант с USB не подошел, т.к. так как устройство вело себя непредсказуемо. Пришлось покупать кабель USB — RS-232. Ниже ссылка — это не рекалама, а что реально было использовано за небольшие деньги.

Название: (UGreen) Кабель-адаптер Ugreen USB 2.0 A-RS232 DB9, чип PL2303 3 м (20223)

Следующее, с чем столкнулся, что nut получает от ИБП заряд батареи равным нулю. Что весьма странно. Ниже будет ссылка на GitHub на похожую проблему и почему было мной выбрано именно такое решение.

Т.к. в репозитории Ubuntu Server 24.04 есть только версия 2.8.1  nut-server

то было проще взять образ для docker’а и его использовать.

Плюсы такого решения:

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

Минусы:

  • для меня их тут нет, т.к. в данном случае решение рабочее,
  • ну разве что держать docker для nut-server —  кому-то может показаться слишком избыточным решением. Но мне не хотелось искать старые deb-пакеты или старые репозитории, а потом морочиться при обновлении.

Docker.

В итоге решил использовать docker с образом где nut-версия 2.8.0.

Сначала запустил и проверил, что все данные получает корректно. Есть предположение, что это из-за того, что driver.version.data: Megatec 0.06, а в 2.8.1 уде 0.07 и новый драйвер либо иначе считает заряд, либо не так интерпретирует данные, но это всего лишь предположение. Почему я так решил: nut запрашивает у ИБП данные, а потом получая от него ответ эти данные вы водит в читаемый вариант. Но т.к. у ИБП, с большей долей вероятности, старая прошивка или версия ПО, которое им управляет, старая, то современный драйвер уже не так их интерпретирует.

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

  1. Если входящее питание пропало на условные 3-5 минут. За это время ИБП не успеет исчерпать заряд батарей и при возобновлении подачи питания вернется в нормальный режим работы — «от сети», а батареи зарядит обратно. В таком случае сервера выключать не целесообразно, т.к. критического момента нет.
  2. Если входящее питание пропало больше, чем на условные 3-5 минут и батареи стали просаживать, то тут для меня важно понимать порог (все значения условны для меня, у вас могут быть свои исходя из инфраструктуры):
    Уровень заряда в %Действие
    75информация
    50уже серьезно
    40всё ещё серьёзно
    30очень серьёзно
    25критично — выключение серверов
    и нижесверх критично

    Как видно, при использовании версии 2.8.1 такие данные получить не возможно.

Подготовим файл для запуска nut нужной версии, а так же для доступа к USB на хосте для контейнера

параметры, указанные ниже, опциональны:

  • container_name
  • API_PASSWORD
  • SECRET

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

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

Вывод:

 

 

Перейдем к настройке zabbix.

Zabbix Agent 2.

Я использую zabbix-agent2. Для начала создадим скрипт, который будет запускаться и обращаться к контейнеру и получать через него данные — /usr/local/bin/nut-get

Обратить внимание, что тут переменная CONTAINER — это имя контейнера с nut-server, который запускали выше.

Сделаем его исполняемым:

И проверим:

Выводы:

 

Теперь создадим файл конфигурации для Zabbix Userparametres — /etc/zabbix/zabbix_agent2.d/nut.conf

После надо перезапустить агента:

И проверить:

Вывод:

Как видно, агента Zabbix получает все необходимые данные.

Zabbix Server.

Сам сервер настраивать не потребуется. Здесь просто размещу шаблон, который сделал для данного UPS. Вообще, это первая версия, т.к. хотелось бы сделать универсальный шаблон.

[заметка обновляется по мере настройки шаблона]

zbx_nut_via_docker_templates

 

 

 

Ссылки:

battery charge 0 |

megatec docs |

 

 

If you found an error, highlight it and press Shift + Enter or to inform us.

Мой рейтинг:

Дмитрий

родился, учился, работаю-учусь

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