Привет всем 👋,

Представим ситуацию: ваша инфраструктура переехала в новый офис, и вам, как опытному сисадмину, предстоит заново пройти этап отладки процессов мониторинга. Всё жизнеобеспечение серверной комнаты нужно поставить на контроль.

В этой статье я приведу пример реализации мониторинга дизель-генераторной установки с помощью SNMP и Zabbix.

Настройка SNMP на контроллере

Модуль DSE7420 MKII предварительно настраивается и прошивается профильным инженером-электриком. На этом этапе также задаются базовые сетевые параметры. После этого у вас появляется доступ к панели управления модуля, где можно внести дополнительные изменения, включая конфигурацию SNMP.

Подключение к панели осуществляется по заранее известному IP-адресу через веб-интерфейс. При входе может потребоваться авторизация. Дефолтные учетные данные:

Login: Admin
Password: Password1234

Важный момент перед изменением параметров модуль генератора необходимо перевести в режим Остановки/Сброса. Иначе при сохранении настроек система выдаст ошибку. Сделать это можно как удалённо через панель управления, так и физически — нажав соответствующую кнопку на устройстве.

zbx-dse-module

Далее переходим в раздел настроек SNMP: zbx-dse-module

Относительно работы SNMP: контроллер DSE7420 MKII поддерживает SNMP v2c и может одновременно работать с двумя SNMP-серверами. Модуль способен:

  • Принимать запросы от SNMP-сервера (операции GET и SET);
  • Отправлять trap-сообщения при возникновении событий.

zbx-dse-snmp.png

Возвращаемся в веб-интерфейс и указываем следующие параметры:

  • Enable — активация SNMP (нужно поставить галочку).
  • Device Name — имя устройства.
  • Manager 1 Address — IP-адрес первого SNMP-менеджера (в нашем случае указываем IP-адрес сервера Zabbix).
  • Manager 2 Address — IP-адрес второго (опционального) сервера мониторинга.
  • Manager Port / Notification Port — порт для SNMP-запросов и Trap-сообщений (оставляем по умолчанию).
  • Read/Write Community String — строка community для чтения и записи (GET/SET-запросы).

zbx-dse-snmp1.png

После заполнения всех полей — сохраняем настройки.

В моём случае SNMP заработал только после перезапуска модуля.

Перезапустить его можно так: zbx-dse-snmp2.png

Также не забываем переключить дизель-генератор и можно идти проверять работу SNMP.

На стороне Zabbix-сервера установлена утилита snmpwalk.

С её помощью попробуем получить данные с модуля командой:

snmpwalk -v2c -c MyCommunity 10.9.1.223

В результате выполнения команды мы увидим список метрик, доступных через SNMP.

Шаблон в Zabbix

Импорт MIB-файла

Прежде чем собирать собственный шаблон мониторинга, необходимо скачать MIB-файл с официального сайта и загрузить его на сервер. Это нужно для того, чтобы не работать напрямую с OID, а обращаться к метрикам по понятным именам.

MIB-файлы можно скачать с официального сайта Deep Sea Electronics. После загрузки файлы необходимо скопировать на сервер Zabbix в каталог:

/usr/share/snmp/mibs/

Для проверки доступности метрик по имени можно снова воспользоваться утилитой snmpwalk. Например, отобразим значение давления масла в двигателе:

snmpwalk -v2c -c MyCommunity 10.9.1.223 DSE-74xx-v1-3-MIB::engOilPress

В результате выполнения вы должны получить текущее значение параметра.

Ключевые метрики для мониторинга

Чтобы было проще ориентироваться в выборе метрик и понимать, что именно стоит снимать с контроллера, составим краткий список основных объектов дизель-генератора и связанных с ними параметров.

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

Я составил примерно такую табличку:

Раздел / SectionМетрикаAliasOID (пример)
Общие (General)Device nameSNMPv2-MIB::sysName.0.1.3.6.1.2.1.1.5.0
Device descriptionSNMPv2-MIB::sysDescr.0.1.3.6.1.2.1.1.1.0
UptimeDISMAN-EVENT-MIB::sysUpTimeInstance.1.3.6.1.2.1.1.3.0
Сеть / Ввод (Mains)Mains Voltage L1–L3DSE-74xx-v1-3-MIB::mainsL{X}Volts.1.3.6.1.4.1.41385.1.4.1.1.1.{X}
Mains FrequencyDSE-74xx-v1-3-MIB::mainsFreq.1.3.6.1.4.1.41385.1.4.1.1.1.2
Mains Voltage maxDSE-74xx-v1-3-MIB::mainsVoltageLNMax.1.3.6.1.4.1.41385.1.4.1.1.1.37
Mains Voltage minDSE-74xx-v1-3-MIB::mainsVoltageLNMin.1.3.6.1.4.1.41385.1.4.1.1.1.36
Генератор (Generator)Generator Voltage L1–L3DSE-74xx-v1-3-MIB::genL{X}Volts.1.3.6.1.4.1.41385.1.4.1.2.1.{X}
Generator Current L1–L3DSE-74xx-v1-3-MIB::genL{X}Current.1.3.6.1.4.1.41385.1.4.1.2.1.{X}
FrequencyDSE-74xx-v1-3-MIB::genFreq.1.3.6.1.4.1.41385.1.4.1.2.1.2
Generator Total WattsDSE-74xx-v1-3-MIB::genWattsTotal.1.3.6.1.4.1.41385.1.4.1.2.1.17
Generator Current MinDSE-74xx-v1-3-MIB::genCurrentMin.1.3.6.1.4.1.41385.1.4.1.2.1.49
Generator Current MaxDSE-74xx-v1-3-MIB::genCurrentMax.1.3.6.1.4.1.41385.1.4.1.2.1.50
Двигатель (Engine)Engine Speed (RPM)DSE-74xx-v1-3-MIB::engSpeedDisplay.1.3.6.1.4.1.41385.1.4.1.3.1.8
Engine HoursDSE-74xx-v1-3-MIB::engModHours.1.3.6.1.4.1.41385.1.4.1.3.1.86
Engine TempDSE-74xx-v1-3-MIB::engTemp.1.3.6.1.4.1.41385.1.4.1.3.1.3
AmbAir TempDSE-74xx-v1-3-MIB::engAmbAirTemp.1.3.6.1.4.1.41385.1.4.1.3.1.152
Engine Oil PressDSE-74xx-v1-3-MIB::engOilPress.1.3.6.1.4.1.41385.1.4.1.3.1.2
Engine Oil LevelDSE-74xx-v1-3-MIB::engOilLevel.1.3.6.1.4.1.41385.1.4.1.3.1.35
Fuel LevelDSE-74xx-v1-3-MIB::engFuelLevel.1.3.6.1.4.1.41385.1.4.1.3.1.5
Coolant LevelDSE-74xx-v1-3-MIB::engCoolantLevel.1.3.6.1.4.1.41385.1.4.1.3.1.37
Battery VoltageDSE-74xx-v1-3-MIB::engBatteryVolts.1.3.6.1.4.1.41385.1.4.1.3.1.7
Charger VoltageDSE-74xx-v1-3-MIB::engChargeAltVolts.1.3.6.1.4.1.41385.1.4.1.3.1.6
Engine operating stateDSE-74xx-v1-3-MIB::engOperatingState.1.3.6.1.4.1.41385.1.4.1.3.1.83
Mode (Auto/Manual/…)DSE-74xx-v1-3-MIB::engCurrOPMode.1.3.6.1.4.1.41385.1.4.1.3.1.126

Контроллер DSE7420 MKII предоставляет множество параметров через SNMP. Как можете заметить их можно выделить в четыре основных группы:

  1. Общие (General) Базовые системные параметры устройства — имя, описание, аптайм. Полезны для первичной идентификации и проверки доступности контроллера.
  2. Сеть / Ввод (Mains) Показатели входного питания (городское электроснабжение): напряжение, частота, минимальные и максимальные значения. Позволяют оценить качество внешней электросети.
  3. Генератор (Generator) Характеристики самого генератора: напряжение и ток по фазам, частота, суммарная мощность, а также минимальные/максимальные значения тока. Эти метрики нужны для мониторинга текущей нагрузки и предотвращения перегрузки.
  4. Двигатель (Engine) Параметры работы двигателя: обороты, моточасы, температуры, давление масла, уровень топлива и охлаждающей жидкости, напряжение аккумулятора и состояние зарядки.

Собираем шаблон

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

Создание шаблона

Перейдите в ConfigurationTemplates. Нажмите Create template.

В полях указываем:

  • Template name: Template DSE7420 MKII SNMP
  • Groups: Templates/Server hardware (или создайте собственную группу)
  • Опционально, можно описания добавить.

zbx-dse-mon1.png

Сохраняемся и далее добавляем элементы данных.

Создание элементов данных

В настройках шаблона переходим во вкладку Items и нажимаем кнопку Create item.

В качестве примера рассмотрим, как создать несколько элементов данных. Далее, ориентируясь на таблицу выше, можно будет без проблем воспроизвести оставшиеся метрики.

  • System name

    В свойствах данного элемента данных будут следующие параметры:

    • Name: System name - понятное имя,
    • Type: SNMP Agent - так как опрашиваем по SNMP,
    • Key: sysName - уникальный ключ, для обращения к элементу,
    • SNMP OID: SNMPv2-MIB::sysName.0 - идентификатор метрики в MIB (Взял из таблице выше)
    • Update interval: 180m - системное имя меняется не так часто, поэтому достаточно опрашивать один раз в 3 часа,
    • History storage period: Do not keep history - историю хранить нет смысла

    zbx-dse-mon2.png

    В соседней вкладке Tags, добавил тег - general. После сохраняем элемент, нажав кнопку - Add.

  • Engine Speed

    Для получения данных по метрик оборотов двигателя создадим элемент данных с параметрами:

    • Name: Engine Speed (RPM) - читаемое имя,
    • Type: SNMP Agent,
    • Key: engSpeedDisplay - уникальный ключ, для обращения к этой метрике,
    • SNMP OID: DSE-74xx-v1-3-MIB::engSpeedDisplay - идентификатор из таблички,
    • Update interval: 1m - опрос этой метрики ежеминутно,
    • History storage period: 90d - три месяца храним данные.

    Во вкладке Tags, добавил тег - engine. И сохранился.

    zbx-dse-mon3.png

По аналогии с приведёнными примерами последовательно проходимся по таблице и добавляем остальные элементы данных.

Создание триггеров

После добавления элементов данных в шаблон, нужно создать триггеры, которые будут срабатываеть при выходе метрик за допустимые пределы.

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

  • Battery Voltage Low (Discharged) Триггер, на разряженный аккумулятор дизель-генератора:

    • Name: Battery Voltage Low (Discharged) - понятное имя в наших уведомлениях,

    • Severity: Average - уровень важности события, в нашем случае выбран - средний,

    • Problem expression: last(/Template DSE7420 MKII SNMP-OID/engBatteryVolts)<=18, Условие срабатывания триггера, при достижения порога ниже 18V, триггер сработает.

    • Recovery problem: last(/Template DSE7420 MKII SNMP-OID/engBatteryVolts)>18 Соответственно при пороге выше 18V, проблема закроется.

    Сохраняем триггер, нажав на кнопку - Add. zbx-dse-mon4.png

  • Low Mains L1 Voltage (<200) Триггер, сработает при снижении вольтажа на фазе:

    • Name: Low Mains L1 Voltage (<200) - задаём имя триггеру,
    • Severity: Average - средний уровень важности проблемы,
    • Problem expression: last(/Template DSE7420 MKII SNMP-OID/mainsL1Volts)<=200, При достижении ниже 200V на линии, триггер сработает.

    Добавляем триггер, через кнопку Add. zbx-dse-mon5.png

По аналогии можно настроить триггеры для других метрик:

  • низкое давление масла,
  • высокая температура охлаждающей жидкости,
  • низкий уровень топлива,
  • генератор не в режиме AUTO,
  • потеря связи по SNMP.

Дополнительно для удобства можно создать графики и дашборды для наглядного отображения параметров.

Заключение

Мы рассмотрели, как настроить мониторинг дизель-генератора с контроллером DSE7420 MKII в Zabbix с использованием SNMP v2c.
Пошагово прошли процесс — от подключения MIB-файлов и добавления элементов данных до создания триггеров.

Такой подход позволяет вовремя реагировать на сбои, следить за состоянием генератора и автоматизировать процесс оповещений.
Шаблон можно расширять под конкретные задачи, добавляя новые метрики и триггеры.

Готовый шаблон доступен в репозитории на GitHub. View on GitHub