Регистрация SNMP трапов в Operations Manager 2012 с использованием WMI запросов

Периодически возникают ситуации, когда необходимо регистрировать SNMP трапы с помощью Operations Manager 2012 от устройств, которые нельзя добавить в качестве сетевых в Operations Manager.

Как быть в такой ситуации? Существует, по крайней мере, один способ с помощью которого можно получать такие трапы, используя WMI запросы.

Приведу небольшой пример, как это можно реализовать.

Для начала нам потребуется сервер, который будет выступать в качестве ловушки трапов. Это может быть любой Windows сервер, на котором установлены и настроены следующие компоненты: SNMP Service, SNMP WMI Provider.

 

Так же, на этом сервере должен быть установлен агент Operations Manager. Замечу, что в этой роли не может выступать управляющий сервер, так как в версии Operations Manager 2012 используется свой стек протоколов SNMP. Даже если службы SNMP установлены и стартованы, то при рестарте службы System Center Management они остановятся.

Далее, на устройстве, от которого мы хотим получать SNMP трапы, необходимо настроить отправку трапов на сервер, который у нас выступает в роли ловушки трапов.

Для того, чтобы проверить, получает ли сервер трапы от устройства, можно воспользоваться встроенной утилитой WBEMTEST. Для этого необходимо выполнить следующие действия:

a.   В командной строке набрать Wbemtest и в открывшемся окне нажать Connect:

 

 b.   В поле Namespace напечатать root \snmp \localhost и нажать Connect:

 

 

 c.   Далее выбрать Notification Query , в открывшемся запросе написать SELECT * FROM SnmpNotification и нажать Apply:

 

 

 d.   Теперь необходимо сгенерировать тестовый трап и посмотреть, регистрируется ли он нашим сервером:

 

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

 После того, как мы убедились, что SNMP трапы регистрируются сервером, настало время настроить их мониторинг в Operations Manager.

 Для мониторинга SNMP трапов на сервере создадим монитор типа WMIEvents --> WMIEventsReset.

Для создания монитора необходимо выполнить следующее:

a.   В консоле Operations Manager перейти на вкладку Authoring --> Management Pack Objects --> Monitors:

b.   В правой панели задач запустить задачу Createa Monitor --> Unit Monitor:

 

с. В открывшемся окне, на вкладке Monitor Type выбрать WMI Events --> Simple Event detection --> WMI Event Reset. В поле ManagementPack либо выбрать уже имеющийся пакет управления, либо создать новый. Нажать Next.

  

d.   На вкладке General, в поле Name, напечатать имя монитора. В поле Monitor target выбрать класс WindowsServer. Снять галку в поле Monitor isenabled. Нажать Next .

 

 e.   На вкладке First WmiEventProvider, в поле WMI Namespace напечатать root \snmp \localhost, в поле Query напечатать SELECT * FROM SnmpNotification WHERE Identification = " < OID SNMP трапа, при получении которого генерируется алерт> " . В моем примере это 1.3.6.1.4.1.2021.251.1.0.17. Выбрать интервал опроса 60 секунд и нажать Next.

 

f.   На вкладке Build First Expression нажать Insert и добавить любое значение (позже мы удалим его). Нажать Next.

  

g.   На вкладке Second WmiEventProvider, в поле WMI Namespace напечатать root \snmp \localhost, в поле Query напечатать SELECT * FROM SnmpNotification WHERE Identification = " < OID SNMP трапа, при получении которого алерт закрывается> " . В моем примере это 1.3.6.1.6.3.1.1.5.4. Выбрать интервал опроса 60 секунд и нажать Next.

 

h.   На вкладке Build Second Expression нажать Insert и добавить любое значение (позже мы удалим его). Нажать Next.

 

 i.   На вкладке Configure Health напротив FirstEventRaised выбрать состояние Warning, а напротив SecondEventRaised выбрать состояние Healthy. Нажать Next.

 

j.   Если необходимо генерировать алерт при получении SNMP трапа, на вкладке Configure Alerts отметить поле Generate alerts for this monitor, в поле Generate an alert when выбрать состояние The monitor is in a warning health state, в поле Alert Descriptionдобавить описание алерта. В описании алерта можно использовать переменные для отображения свойств SNMP трапа. Например, переменная $Data/Context/DataItem/Property[@Name=' AgentAddress ']$ будет показывать IP адрес отправителя трапа. Далее нажать Create.

  

После создания монитора необходимо удалить данные на вкладкахFirst Expression и Second Expressionранее созданного монитора . Для этого нужно открыть свойство монитора, перейти на вкладку First Expression и нажать Delete. Эту же операцию выполнить на вкладке Second Expression:

 

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

a.  Выделить созданный монитор и в правой консоле задач выбрать задачу Overrides --> Override the Monitor --> For a specific object of class: Windows Server. В появившемся окне выбрать сервер и нажать OK.

 

  

 b.   В открывшемся окне Override Properties , напротив параметра Enable поставить галку, а в колонке Override Value поменять значение на True. Нажать Ok.

  

После того, как новая конфигурация вступит в силу, монитор будет ловить SNMP трапы, используя WMI запросы.

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

 

  

Команда System Center PFE Russia.