Как настроить мониторинг температуры в серверной по SNMP в SCOM

Контроль микроклимата в серверной — задача, которую нельзя оставлять «на потом». Перегрев оборудования может привести к отказу дисков, зависанию серверов и потере данных. И если у вас уже развернут System Center Operations Manager (SCOM), нет смысла ставить отдельный софт для датчиков температуры — всё можно интегрировать в единую консоль мониторинга через протокол SNMP.
 
В этом руководстве мы разберем полный цикл настройки: от поиска правильного OID в MIB-дереве до создания правил сбора метрик (Performance Rules) и мониторов пороговых значений (Probe Monitors). В качестве примера используется контроллер Sensatronics E4, но шаги идентичны для любого SNMP-совместимого устройства.
 
Что вы узнаете из статьи:

  • Как найти нужный OID без документации от производителя.
  • Как создать правило сбора показателей температуры и построить график в SCOM.
  • Как настроить монитор с порогами и автоматическими оповещениями.
  • Как правильно настроить SNMP Community String через Run As Account.

Инструкция актуальна также для SCOM 2019/2022/2025 и Windows Server 2019/2022/2025. Базовые принципы работы с SNMP Performance Rules и Probe Monitors не менялись с версий 2012/2016.

Как найти нужный OID без документации от производителя

Допустим, что контроллер уже настроен и подключен по SNMP к SCOM, и вам необходимо настроить сбор показаний температуры датчика «Probes 1» на картинке ниже.

Внутренний веб-сервер контроллера температуры Sensatronics E4

Чтобы настроить правило производительности по SNMP в Operations Manager, вам нужно знать OID. Если бы у производителя был доступен свой MIB, можно было бы использовать его, но на текущий момент я его на сайте не смог найти, поэтому можно поступить по-простому — запустить какой-нибудь MIB browser и опросить наш контроллер. Достаточно легко можно найти текущее значение температуры с нашего датчика температуры «Probes 1» и соответствующий ему OID.

Использование MIB Browser для поиска OID

Настройка SNMP Community String

В мастере создания SNMP-правил и мониторов нет поля для ввода community string. Это частая причина, по которой мониторинг не работает у новичков. Аутентификация настраивается отдельно через Run As Accounts:

  1. Перейдите в консоли SCOM: Administration → Run As Configuration → Run As Accounts.
  2. Создайте новую учетную запись типа SNMPv1/v2c Community String. В поле «Community String» укажите строку, настроенную на вашем устройстве (по умолчанию часто public, но в продакшене её обязательно нужно сменить).
  3. Создайте Run As Profile (если ещё не создан) и добавьте в него созданную учётную запись.
  4. Назначьте профиль целевому объекту: конкретному сетевому устройству, группе устройств или классу Node.

Без этого шага SCOM не сможет аутентифицироваться на устройстве, и правило/монитор будут возвращать ошибку доступа или пустые значения. Убедитесь, что профиль назначен до включения правила через Override в следующем разделе.

Создание правила SNMP Performance в SCOM

Для сбора показаний температуры воспользуемся стандартным правилом SNMP Performance.

Перейдите на вкладку Authoring консоли Operations Manager. Там выберите объект Rules.

Правила в консоли редактирования SCOM, отфильтрованные по Node

Для того чтобы создать правило SNMP, нам нужны выбрать тип класса Node. Для этого поменяйте Scope.

Фильтрация по классу node в консоли Operations Manager

Щелкнув правой кнопкой, создайте новое правило.

Создание нового правила в консоли SCOM

Выберите тип правила SNMP Performance:

Выбор типа правила при создании правила в SCOM

Выберите management pack для сохранения ваших настроек. Если он еще не создан, то создайте свой новый пакет управления для этих целей. Подробнее процесс создания нового пакета управления в SCOM рассматривался ранее на нашем сайте. Далее введите название вашего правила и описание, в категории правила нужно указать Performance Collection. Флажок «Rule is enabled» рекомендую не включать — нам не нужно собирать эти данные со всех ваших SNMP устройств.

Название и описание для нового правила в SCOM

Далее укажите частоту опроса датчика температуры и тот самый OID, который мы узнали в начале этой статьи. Для создания правила нажмите кнопку «Create».

Конфигурирование OID для правила SNMP в SCOM

Далее нам нужно включить это правило конкретно для нашего датчика температуры. Для этого делаем «override» для этого правила:

Создание override для правила в SCOM

и устанавливаем параметр «Enabled» в True.

Настройка параметров override правила в Operations Manager

Нажимаем «Apply».

На этом все. Через несколько минут начнется сбор данных, и если вы все сделали верно, то вы сможете это посмотреть в Performance View этого устройства:

Пример графика SNMP performance view в SCOM

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

Создание монитора SNMP Probe Monitor в SCOM

Для того, чтобы настроить оповещение о росте температуры в Operations Manager, необходимо создать так называемый «монитор».

Совет. Рекомендую подробно изучить, что такое «монитор» и «правило» в SCOM, и какая между ними разница. Для начала можно почитать в Technet. Администратору системы мониторинга крайне необходимо понимать разницу между ними, чтобы грамотно использовать все возможности системы.

Для мониторинга температуры воспользуемся стандартным функционалом консоли SCOM, используя тип монитора SNMP Probe Monitor. С помощью этого инструмента мы будем опрашивать наш датчик температуры с заданной периодичностью и сравнивать полученное значение с нужным нам пороговым значением. Если значение температуры выше порога, будет формироваться оповещение, например по e-mail или SMS. Описание настройки различных типов оповещений выходит за рамки данной статьи.

Для работы SNMP Probe Monitor также требуется настроенный Run As Account типа «SNMPv1/v2c Community String» и ассоциированный профиль, назначенный целевому устройству. Если вы ещё не выполнили эту настройку при создании правила производительности, вернитесь к соответствующему разделу выше — без неё монитор не сможет опрашивать датчик.

И так, создайте новый монитор.

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

Выберите тип SNMP Probe Monitor в разделе Simple Event Detection.

Выбрать SNMP Probe monitor

Заполните основные свойства монитора. Монитор рекомендую сразу не включать, а сделать это в конце через переопределение.

Заполнить основные атрибуты нового монитора

На следующем шаге введите тот же самый OID датчика (.1.3.6.1.4.1.16174.1.1.1.3.1.2.0) и задайте периодичность опроса.

Далее необходимо составить условное выражение при превышении порога температуры. В качестве сравниваемого параметра нужно использовать следующую конструкцию: /DataItem/SnmpVarBinds/SnmpVarBind[1]/Value.

Задать условия срабатывания монитора при превышении порога температуры

На следующих двух шагах аналогично делаются настройки для случая, когда монитор возвращается в исходное состояние, то есть когда полученное значение температуры ниже порогового. Также указываются тот же самый OID датчика и нужная периодичность опроса. Далее задается условие при снижении температуры ниже порога.

Задать условия срабатывания монитора при снижении порога температуры

Важно: В Operations Manager есть одна неприятная особенность, которую разработчики никак не исправят. Дело в том, что для этого типа монитора при создании через консоль автоматом задается строковый тип значения для параметра. Поэтому в дальнейшем, при определенных значениях этого параметра, операция сравнения будет выполняться некорректно и вы будете получать ложное срабатывание монитора и ложное оповещение, что конечно же неприемлемо. К счастью, это довольно легко можно исправить с помощью ручного редактирования пакета управления. Подробнее об этой проблеме и как ее исправить, вы можете узнать в Technet (Microsoft Docs).

Затем определяются состояния монитора (Health State) в зависимости от наших условий на предыдущих шагах.

Заполнить состояния Health State созданного монитора

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

Конфигурирование параметров оповещения монитора температуры

Совет. Чтобы оповещение было более информативным, используйте следующий параметр в нем: $Data/Context/SnmpVarBinds/SnmpVarBind[1]/Value$. В данном случае в этом параметре будет передаваться текущее значение температуры.

После создания монитора заходим в его свойства, чтобы еще раз проверить все настройки, а главное, чтобы сделать переопределение (override), то есть включить работу монитора для конкретного объекта — нашего датчика температуры.

Просмотр вкладки Overrides в свойствах

Включаем монитор через override.

Включить монитор SNMP probe

На этом процесс настройки монитора SNMP Probe Monitor закончен. Через несколько минут можно проверить статус этого монитора для нашего датчика температуры, он должен быть зеленым.

Статус монитора в health explorer

Завершающие этапы

Следующими важными шагами по настройке мониторинга температуры являются:

  • Настройка рассылки оповещений по созданному монитору.
  • Добавление объекта датчика температуры в распределенные приложения (при необходимости).
  • Создание всевозможных представлений, виджетов и панелей в консоли SCOM.

Итоги

Настройка SNMP-мониторинга в SCOM требует понимания внутренней архитектуры системы, но результат того стоит. Вы получаете централизованный контроль микроклимата, графики температуры за любой период и автоматические алерты — всё в той же консоли, где мониторите серверы и службы.

Не забудьте: После создания SNMP Probe Monitor всегда проверяйте тип сравниваемого параметра в XML пакета управления. Исправление строкового типа на числовой — обязательный шаг, который спасет вас от потока ложных оповещений.

Совет от автора: Если у вас несколько датчиков в разных помещениях, объедините их в Distributed Application «Микроклимат ЦОД». Это позволит видеть общее здоровье инфраструктуры на одном дашборде и настроить эскалацию алертов по приоритетам.

Остались вопросы?

А какие датчики температуры используете вы в своей серверной? Сталкивались ли с багом строкового сравнения в SNMP-мониторах? Делитесь опытом в комментариях!

Читайте также:

Часто задаваемые вопросы (FAQ)

Как узнать OID датчика, если производитель не предоставил MIB-файл?

Используйте MIB Browser (iReasoning, Paessler SNMP Tester или аналог). Подключитесь к устройству по SNMP v2c, пройдите по дереву OID и найдите ветку сенсоров. Считайте значение напрямую — если оно совпадает с реальной температурой, вы нашли правильный OID. Зафиксируйте его для использования в правилах SCOM.

Почему SNMP Probe Monitor генерирует ложные алерты при нормальных показаниях?

Это известная проблема консоли SCOM: при создании монитора через GUI параметр значения получает строковый тип (System.String). Строковое сравнение «30» > «5» дает непредсказуемый результат. Решение: экспортируйте Management Pack в XML, найдите параметр и измените его тип на System.Double или System.Integer. Импортируйте MP обратно.

Где в SCOM настраивается Community String для SNMP?

Community String не указывается напрямую в правиле или мониторе. Создайте Run As Account типа «SNMPv1/v2c Community String» в разделе Administration → Run As Configuration. Затем создайте Run As Profile, свяжите его с этим аккаунтом и назначьте целевому устройству или группе устройств.

Можно ли мониторить температуру без установки агента SCOM на датчике?

Да. SNMP-мониторинг в SCOM работает полностью безагентно. Опрос выполняется с Management Server или Gateway-сервера. Главное — обеспечить сетевую доступность (UDP 161) и корректно настроить Run As Profile с Community String.

Тимлид команды системных администраторов Windows-инфраструктуры с 20-летним опытом. Специализация: сопровождение серверов Windows, Active Directory, Hyper-V, PowerShell-автоматизация, мониторинг.