SCOM 2012 - Настраиваем SMS оповещения

imageПри мониторинге некоторых объектов ИТ-инфраструктуры в System Center 2012 Operations Manager (SCOM) может возникнуть потребность получать оповещения об изменениях состояния этих объектов не только по электронной почте, но и на мобильные устройства (телефоны, коммуникаторы и.т.п.) в виде сообщений Short Message Service (SMS). Например в нашей инфраструктуре решено использовать SMS оповещения при изменении параметров электропитания в серверных помещениях, чтобы оперативно ставить в известность о проблемах ответственных лиц. SCOM умеет работать с GSM-устройствами напрямую подключёнными к COM-порту сервера управления (Management Server). В нашем случае в качестве GSM-устройства выбран беспроводной терминал Siemens MC35i Terminal

image

Задача немного усложняется тем, что в нашем случае все сервера управления SCOM являются виртуальными, и для трансляции физического GSM-устройства в виртуальный сервер SCOM нам потребуется воспользоваться отдельным аппаратным устройством, которое сконвертирует интерфейс RS-232 в Ethernet. Решений такого класса на сегодняшний день не мало, но мы остановим свой выбор на устройстве Moxa NPort 5210 Serial Device Server. Подробное описание этого устройства можно найти на сайте производителя NPort 5210/5230/5232 Series

image

На всякий случай с сайта производителя сохраню здесь распиновку кабеля использующегося для подключения RS-232 (DB9) (на стороне подключаемого девайса) к порту RJ45 (на стороне NPort) – белый кабель на первой фотографии. 

 

Итак, обесточиваем оба выше обозначенных устройства, вставляем SIM-карту в MC35i Terminal и подключаем его (терминал) к порту RS-232 устройства NPort (в нашем случае это будет порт №1). В конечном итоге картина получиться примерно такая.

 

image

Порт RJ45 Ethernet у устройства NPort подключаем к локальной сети. Затем выполняем первоначальную настройку устройства NPort – задаём сетевые настройки, имя, протоколы управления. При необходимости можно выполнить обновление прошивки. Текущая версия прошивки 2.6 Build 11080114 датируется этим годом и содержит целый ряд исправлений, поэтому рекомендую обновить устройство перед началом эксплуатации.

Настраиваем устройство NPort таким образом, чтобы порт RS-232, к которому мы подключили терминал, работал на заниженной скорости. Настройку можно выполнить тремя основными способами - Telnet/Web-интерфейс/утилита NPort Administrator (кстати с помощью этой утилиты можно выполнить обновление прошивки).

Запускаем утилиту NPort Administrator, с помощью функции Search IP подключаемся к нужному нам устройству, производим его разблокировку (Unlock) и вызываем окно настройки параметров (Configure):

image

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

imageimage

Режим работы порта на закладке Operating Mode используем Real COM Mode

image

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

Теперь для того чтобы транслировать из сети виртуальный COM-порт на виртуальный сервер управления SCOM установим драйвер NPort - NPort Windows Driver Manager (WHQL certified). После установки из меню Пуск вызовем главное окно утилиты управления подключёнными портами, с помощью кнопки Add добавим устройство Moxa, к которому подключен наш GSM-терминал. При добавлении устройства в виртуальной системе будет добавлен следующий свободный COM-порт. В нашем случае это COM3

image

Проверим появление в оснастке Device Manager (Devmgmt.msc) нового COM-порта и вызовем мастер добавления нового устройства – Add legacy hardware

image

В открывшемся мастере укажем, то что мы хотим в ручную выбрать устройство из списка поддерживаемых – Install the hardware that I manually select from a list (Advanced)

image

Затем выбираем тип добавляемого устройства – Modemsimage

Отказываемся от механизма автоматического обнаружения модема (в нашем случае GSM-терминал не имеет поддержки технологи Plug&Play) – Don`t detect my modem 

image

На следующем шаге мастера дожидаемся когда отобразится список устройств, для которых в системе уже присутствуют драйвера и выберем стандартный модем – Standard 9600 bps Modem

image

Затем выберем COM-порт к которому подключено устройство – в нашем случае это транслированный с устройства NPort порт COM3

image

После завершения работы мастера открываем свойства созданного в системе модема переходим на закладку Diagnostics и вызываем процедуру опроса модема – Query Modem. Если получим успешный ответ от устройства, значит оно мы всё сделали верно и оно готово для использования механизмом оповещений SCOM

image

Теперь открываем консоль SCOM, переходим в раздел консоли Administration > Notifications. Для работы механизма SMS оповещений нам нужно будет последовательно создать:

  • Канал оповещений (Channels) – описание параметров помещаемых в тело SMS сообщения
  • Подписчиков (Subscribers) – номера телефонов на которые будут отсылаться SMS
  • Подписки (Subscriptions) – критерии, которым должны соответствовать оповещения SCOM для отсылки по SMS и связь между Каналом оповещений и Подписчиками.
    При создании Канала оповещений задаём в произвольной форме его имя и описание.

image

Значение поля Text message определяет то, что именно попадёт в тело SMS-сообщения и поэтому в нашем случае это поле откорректировано (с учетом специфики нашей задачи) в следующий вид:

[$Data[Default='Not Present']/Context/DataItem/ResolutionStateName$] $Data[Default='Not Present']/Context/DataItem/AlertDescription$

Создаём Подписчиков, определяя номера телефонов в формате +7***…

image

Затем создаем саму Подписку. В рамках нашей задачи (мониторинг состояния электропитания) в SCOM сделан Пакет управления (Management Pack) который содержит в себе ряд Правил (Rule) и Мониторов (Monitor), которые генерируют оповещения. Используем определённый ряд Мониторов в качестве критерия для создаваемой Подписки. Дополнительным критерием будет группа устройств, которая объединяет в себе конкретные опрашиваемые по SNMP серверные источники бесперебойного питания (ИБП).

image

После того как Подписка создана, проверяем работу механизма SMS оповещений временно переключив ИБП на работу от батарей (имитируем сбой электропитания). Если всё сделано правильно то мы получим SMS с информацией о том что произошло пропадание входного напряжения на конкретном ИБП с информацией о его месторасположении (берётся из настроек модуля управления ИБП при опросе по SNMP) 

image

По аналогии с почтовыми оповещениями, при возникновении проблемы будет приходить SMS-сообщение со статусом New, при исчезновении проблемы со статусом Closed, хотя, конечно при желании можно изменить “по вкусу” тело SMS-сообщений и логику отсылки этих сообщений.

Всего комментариев: 10 Комментировать

  1. Ivan /

    Алексей, как долго вы пользуетесь подобными адаптерами? Рассматривая подобную проблему в нашей компании было решено задействовать физический SCOM именно из-за боязни внести звено отказа с непонятной надежностью.

    1. Алексей Максимов /

      Если под "адаптерами" вы имеете ввиду Moxa NPort 5210, то ими пользуемся давно. В основном для удалённого управления устройствами имеющими RS-232 (например АТС). Проблем и нареканий нет.

  2. Обратная ссылка: Проверка GSM-устройства подключенного через виртуальный COM-порт с помощью простых AT-команд (отсылка SMS-сообщения). | Блог IT-KB /

  3. alexeysh84 /

    А может кто подскажет SMS шлюз который бы работал не по COM порту, а по USB (так как уже имеется оборудование для проброски USB на виртуальный сервер) или же сразу SMS шлюз с сетевым интерфейсом, который бы гарантировано работал со SCOM

  4. Иван Левкин /

    Приветствую, подскажите, сталкивались ли Вы с проблемой, когда OM пытается отправить несколько смс подряд, например нескольким людям, но например 5-я или 2-я смс не уходит но следующие уходят, а в консоли алертов OM возникает события Notification failure. При чем модем вроде как работает стабильно и не отваливается, но почему то иногда смс просто не доходят.

    1. Алексей Максимов / Автор записи

      Подтверждаю. При условии отсылок однородных оповещений на несколько телефонов сразу, на некоторые из них SMS может действительно не дойти. При этом действительно модем выглядит как вполне работоспособный. Как следствие возникает соответствующий алерт SCOM, мол, не смог отправить на такой-то номер оповещение. Почёму? Не спрашивайте, не знаю :). В продуктах System Center хватает необъяснимых вещей :) Хотя может Вы нам откроете решение этой загадки?

      1. Иван Левкин /

        ) пытаюсь побороть это уже несколько недель, но безуспешно...Да загадок хватает, например вот еще одна:
        Иногда, при быстром срабатывании события, напрbмер ping или доступность определенного порта, не приходит email\sms вида "Open\New" а просто сразу приходит "Closed".
        При чем этот scom2012r2 не позволяет посмотреть лог отправки уведомлений ни в каком виде, что бы как то траблшутить его действия...

  5. Alexey Tsarev /

    Здравствуйте!
    У меня вопрос про формат SMS сообщений. Хочется настроить так, чтобы содержание смс было типа:
    ServerName: Status[New/Close] - AlertName

    Для этого создаю новый канал SMS и в формат помещаю:
    $Target/Host/Property[Type="Windows!Microsoft.Wondows.Computer"]/NetworkName$" $Data[Default='Отсутствует']/Context/DataItem/ResolutionStateName$ $Data[Default='Отсутствует']/Context/DataItem/AlertName$
    Но SCOM не дает сохранить этот канал - пишет: длина сообщения больше максимально допустимой
    И на самом деле в Теле сообщения стоит запрос из 185 символов, вместо 160 разрешенных. НО, это же переменные для запроса в БД, а не текст сообщения.
    Вопрос: как с этим бороться?

    1. Алексей Максимов / Автор записи

      Здравствуйте, Алексей.
      Попробуйте так: http://www.systemcenterrocks.com/2015/07/notification-channel-body-contains-more.html
      И кстати, я не уверен, что в SCOM есть объекты типа "Wondows.Computer"

  6. Alexey Tsarev /

    Добрый день.
    Такой вопрос: настроен мониторинг дискового пространства. При 10% свободного пространства на диске падает СМС вида:

    "New - The disk D: on computer TL-BACKUP-04 is running out of disk space. The value that exceeded the threshold is 6% free space."

    Как сделать так, чтобы уведомление о возвращении монитора в нормальное состояние отражало текущий объем свободного пространства? - чтобы в закрывающем сообщении отражалось текущее свободное пространство (к примеру, если свободное пространство увеличилось и стало 20%)?

Добавить комментарий