Сначала определяю границу наблюдения
В наших внедрениях я начинаю с паспорта наблюдаемого ИБП. Уточняю модель и прошивку сетевой карты, состав фаз, схему резервирования, наличие внешних батарейных модулей и допустимые режимы обслуживания. Затем сверяю, какие OID устройство действительно возвращает и как производитель трактует их перечисления и единицы. Стандартная ветка UPS-MIB даёт общий язык, но аппарат может поддерживать её частично либо публиковать важную диагностику в собственной MIB. Я фиксирую версию SNMP, контекст безопасности и источник шаблона. Zabbix наблюдает телеметрию контроллера, но не подтверждает состояние контактов, автоматов и кабелей, которых нет в доступных данных.
Разделяю связь и состояние силовой части
Первый слой отвечает только на вопрос, получаем ли мы достоверные свежие данные. Я контролирую доступность SNMP, ошибки аутентификации, timeout, unsupported items и время последнего успешного опроса. Потеря связи формирует отдельное событие и не превращается автоматически в аварию питания: причина может быть в маршруте, ACL, сетевой карте или перегрузке опроса. Обратная ситуация тоже важна: ICMP и sysUpTime доступны, хотя выход уже питается от батареи. Поэтому доступность не подавляет предметные состояния без явного основания. Для SNMPv3 в наших внедрениях выбираются поддерживаемые устройством режимы аутентификации и шифрования, секреты хранятся в защищённых макросах, а доступ к UDP/161 ограничивается адресами Zabbix server или proxy. SNMP write для мониторинга не требуется.
Собираю питание как связанную картину
Вход, выход и bypass я рассматриваю вместе. Из UPS-MIB полезны upsInput, upsOutput и upsBypass, а upsOutputSource показывает, откуда в данный момент формируется выход: от сети, батареи, bypass или другого состояния, определённого стандартом. Я не делаю вывод по одному напряжению: нулевое, отсутствующее или масштабированное значение может означать неподдерживаемый объект, другую фазу либо особенность реализации. Сначала проверяю индекс фазы, единицы и таблицы MIB. Событие потери сети связываю с изменением источника выхода и свежестью опроса. Переход на bypass выделяю отдельно, потому что защита нагрузки в этом режиме отличается, однако согласованное окно обслуживания может менять маршрутизацию уведомления, не скрывая данные и историю.
Батарея — это несколько независимых признаков
Для батареи недостаточно графика заряда. Я сопоставляю upsBatteryStatus, оценку оставшегося времени, заряд, напряжение, ток и температуру, если они поддерживаются. Флаг необходимости замены из стандартной или vendor MIB получает отдельный приоритет: он не равен потере питания, но требует плановой реакции владельца. Оценка runtime зависит от нагрузки, состояния батарейных блоков, температуры и алгоритма производителя, поэтому я не обещаю точность до минуты. После обслуживания проверяю исчезновение флага, актуальность данных, согласованность количества модулей и отсутствие новых аппаратных сообщений. Возраст батарей и результаты регламентного теста не выводятся из SNMP без источника.
Нагрузку читаю в контексте модели и фаз
Процент нагрузки кажется простым, но здесь появляются ложные тревоги. Я выясняю, относится ли upsOutputPercentLoad к одной фазе, максимальной фазе или агрегату, и сверяю значение с ваттами либо вольт-амперами, если устройство их предоставляет. Для трёхфазного ИБП важен дисбаланс: суммарное значение не исключает перегруженную фазу. Порог задаётся после согласования с владельцем электропитания, паспортом оборудования, схемой резервирования и рабочим профилем; универсальную цифру я не переношу между площадками. Использую гистерезис или устойчивость во времени, чтобы пусковой всплеск не создавал инцидент. Сохраняю предупредительный уровень и более серьёзное состояние, если такая градация обоснована эксплуатацией.
Строю тревоги из причин, а не из шума
Я развожу события по смыслу: нет телеметрии, питание от батареи, низкий ресурс, требуется замена батареи, активен bypass, перегрузка, внутренняя авария. Зависимости сокращают каскад сообщений при недоступности SNMP-интерфейса, но не должны скрывать подтверждённую аварию силовой части. Для перечислимых состояний проверяю числовые значения по MIB и использую понятные value maps. Неожиданное значение попадает в диагностику как неизвестное состояние. Условия восстановления проектирую так, чтобы исчезла исходная причина и пришли свежие данные. В уведомление включаю объект, режим, связанные показатели и ссылку на runbook, не передавая community, пароли или конфиденциальную топологию.
Провожу согласованную контролируемую проверку
Перед проверкой согласовываю окно и участника, отвечающего за электропитание, фиксирую исходные значения и активные события. Безопасный вариант выбирается по документации производителя: штатный self-test из разрешённого интерфейса либо наблюдение за заранее запланированной сервисной операцией. Я не отключаю питание нагрузки, не инициирую глубокий разряд и не перевожу силовую схему командами SNMP. Во время теста проверяю последовательность: появились свежие изменения, Zabbix распознал ожидаемое состояние, создал нужное событие, отправил уведомление по согласованному маршруту. Затем подтверждаю восстановление исходного режима, несколько последовательных успешных опросов и закрытие Problem событием Recovery. Если значение не вернулось, возник неизвестный код или изменилась соседняя фаза, тест прекращается и передаётся профильному специалисту.
Закрепляю восстановление и эксплуатацию
После приёмки я сохраняю версию MIB, карту OID, value maps, зависимости, условия обслуживания и ответственных за реакцию. В наших внедрениях восстановление считается проверенным, когда выход вернулся к ожидаемому источнику, bypass имеет согласованное состояние, батарейные показатели снова актуальны, нагрузка читается по всем нужным фазам, а Zabbix зафиксировал корректную пару событий. Одного зелёного виджета недостаточно: я просматриваю историю и журнал, чтобы исключить дребезг и провал данных. При ошибочной настройке откат возвращает прежнюю версию шаблона, связи и выражения без изменения конфигурации ИБП. Для обследования и внедрения мониторинга можно связаться с IT Fresh: https://itfresh.ru/ ; https://t.me/ITfresh_Boss ; tel:+79037296241.
Сигналы, которые сопоставляю
- Доступность SNMP и возраст последнего успешного значения отделяются от исправного состояния самого ИБП.
- Режим источника выхода сопоставляется с входным питанием, состоянием батареи и фактом перехода на bypass.
- Нагрузка оценивается вместе с номиналом конкретной модели, фазностью и качеством данных, а не по одной универсальной границе.
- Recovery подтверждается возвратом режима, последовательностью свежих значений и закрытием события Zabbix, а не одиночным нормальным ответом.
Отвергнутые альтернативы
- Считать доступный ping доказательством исправности ИБПСетевой интерфейс способен отвечать, когда силовая часть находится на батарее, bypass или сообщает внутреннюю неисправность.
- Создать одну тревогу по заряду батареиЗаряд не описывает источник выхода, оставшееся время, необходимость замены батареи и качество входного питания.
- Применить одинаковый процент нагрузки ко всем моделямСмысл значения зависит от MIB, числа фаз, номинала, схемы резервирования и допустимого профиля конкретной установки.
- Считать bypass штатным во всех случаяхОн бывает согласованным сервисным режимом, автоматической защитной реакцией или следствием неисправности; контекст должен быть известен Zabbix.
- Закрывать инцидент сразу после первого нормального значенияКраткий возврат сети или единичный SNMP-ответ ещё не доказывает устойчивое питание и восстановление полного набора данных.
Конфигурация и сбор
Read-only SNMP с доступом только от Zabbix server или proxy; чтение Latest data, Problems, истории, журнала Zabbix и разрешённой документации ИБП. Секреты SNMPv3, community и конфиденциальные адреса в рабочие материалы не копируются.
- Зафиксировать модель ИБП и сетевой карты, версии прошивки и MIB, число фаз и поддерживаемые таблицы.
- Снять согласованный набор OID через штатный SNMP poller Zabbix и проверить типы, индексы, единицы и value maps.
- Сопоставить вход, источник выхода, bypass, батарею, нагрузку и аппаратные статусы в одном временном окне.
- Проверить Latest data, историю и журнал Zabbix в режиме чтения, не раскрывая параметры аутентификации.
Контролируемая проверка и свидетельство
В согласованное окно выполняется разрешённый производителем штатный self-test либо наблюдается плановая сервисная операция без отключения нагрузки. Проверяются свежие значения, ожидаемое Problem, доставка уведомления, возврат режима и Recovery. Любое неожиданное состояние, потеря данных или влияние на нагрузку означает остановку проверки и передачу управления ответственному специалисту.
Фрагмент рабочего регламента
- Проверить свежесть SNMP items и отделить отсутствие данных от предметной аварии ИБП.
- Сопоставить upsOutputSource с входом, bypass, батареей, нагрузкой и аппаратными статусами.
- Проверить индексы фаз, единицы, value maps и поддержку OID по MIB конкретной модели.
- После нормализации подтвердить последовательные значения, Recovery и отсутствие дребезга в истории событий.
Откат
До изменения экспортируется текущая версия затрагиваемого шаблона и фиксируются связи хостов, макросы без раскрытия секретов, value maps и выражения. Откат возвращает прежнюю версию шаблона или отдельные изменённые объекты Zabbix. После отката проверяются поддержка items, свежесть данных, состояние триггеров и отсутствие непредусмотренных уведомлений; настройки силовой части ИБП не изменяются.
Ограничения вывода
SNMP отражает данные, которые публикует контроллер ИБП, и не доказывает физическую исправность всей цепи электропитания. Поддержка RFC 1628, vendor OID, фаз, единиц и тестов различается по моделям и прошивкам. Пороги нагрузки, времени автономии, температуры и длительности состояния определяются документацией, схемой резервирования и согласованным профилем конкретной установки.

