Мониторинг ИБП APC в SCOM 2007. Часть 3я.

 
 
В предыдущих частях мы настроили получение SNMP-трапов на сервере, создали тестовое правило в SCOM2007, изучили MIB-дерево бесперебойников. Самое время применить полученные знания на практике.
 
Начнем с трапов, т.к. в первой части мы уже настроили одно тестовое правило для обработки трапов. Если правило до сих пор включено, вы должны получать кучу событий вот такого вида:
image
 
Это алерт, который генерируется из правила. Правило, в свою очередь, реагирует на трап, который приходит от бесперебойника при возникновении любого события, т.к. мы настроили правило на получение трапов с любым OID. Если таких сообщений приходит много (н-р как у меня), вы может сразу строить правила (Rules) и мониторы (Monitors), используя данные из алерта.
 
Для этого откройте алерт (двойным щелчком мыши), и перейдите на вкладку "Alert Context":
image
Нас интересует часть, выделенная красным. Эти данные получает SCOM 2007 из трапа. Самые важные данные — 3 и 4я строка.
В третьей строке вы видите понятное описание трапа, как его передает сам бесперебойник, в четвертой — OID трапа (см. часть2, описание трапов в MIB-дереве). Используя кнопки "Previous" и "Next" вы можете перемещаться между алертами и смотреть их описание.
Для примера возьмем алерт, который генерируется после прохождения самотестирования. Это одиночное событие, не влияющее на Health State (по русски — состояние системы) поэтому нужно только оповещать оператора об этом событии. "Alert Context" этого алерта выглядит следующим образом:
image
 

Правила (Rules)

Для оповещения в SCOM2007 служат алерты. Их можно генерить на основе правил (Rules) или мониторов (Monitors). Т.к. мониторы больше служат для отслеживания Health State, то в данном случае более логичным выглядит создание алерта на базе правила (Rule) — самотестирование никак не влияет на состояние бесперебойника.
Для этого необходимо (во многом шаги повторяют то, что мы делали в Части 1):
Перейти в консоли SCOM 2007 в секцию Authoring, выбрать "Authoring\Managment Pack Objects\Rules", нажать правой кнопкой мыши и в контекстном меню выбрать "Create a new rule…" image image
В мастере выбрать типа правила (Rule Type) "Alert Generating Rules\Event Based\Snm Trap (Alert)", а также выбрать MP (Managment Pack), отличный от Default, и нажать Next. image
На этапе "General" необходимо указать:
— "Rule Name"  = UPS: Self-test passed
— "Description" = ИБП успешно прошел самотестирование.
— "Rule Category" = Alert
— "Rule target" = SNMP Network Device (при выборе не забудьте установить переключатель в положение "View all targets")
— "Rule is enabled" = false (снять галочку)

Про последние 2 параметра написано в блоге G14, и упоминалось в Части 1.

image
На этапе "SNMP Trap Provider" мы можем оставить опцию Use discovery community string включенной, если строка трапа совпадает со строкой поиска, или ввести строку самостоятельно (Use custim community string). Замечу, что строка должна быть такой, которую мы вводили на этапе настройки трапа (см. Часть 1).

Далее самое главное — указание OID. Его нам необходимо скопировать из Alert Context (см. выше). В нашем случае — OID = 1.3.6.1.4.1.318.0.10
В MIB-дереве он называется "upsDiagnosticPassed" и имеет вот такое описание:
image 

Замечание: SCOM 2007 хранит OID без ведущей точки. MIB-браузеры выдают OID с ведущей точкой. Обратите на это внимание.

image
На этапе "Configure Alerts" необходимо задать параметры:
— "Alert Name" = оставить без изменения (хотя можете и указать отличное от имени правила, но мне кажется так не очень удобно).
— "Alert description" = Можно задать любое значение. Также можно воспользоваться переменными подстановки. Кроме того, можно получить доступ к данным самого трапа (к той таблице, что мы видели в Alert Context). Для этого в поле описания надо добавить вот такую переменную: "$Data/Context/SnmpVarBinds/SnmpVarBind[#]/Value$", где # — это номер строки в таблице Alert Context, счет начинается с единицы:
image
Н-р если мы в описании напишем:
"Время с запуска UPS: $Data/Context/SnmpVarBinds/SnmpVarBind[5]/Value$",
то в консоли SCOM 2007 при возникновении алерта увидим вот такое описание:
"Время с запуска UPS: 57669040"
 
Далее по настройкам:
— "Priority" = Low
— "Severity" = Information
Замечание: для перевода строки в поле описания используйте сочетание клавишь Ctrl-Enter. В случае если вы просто нажмете Enter произойдет cоздание правила (сработает кнопка по умолчанию — "Create")
После указание всех параметров нажимаем Create, и ждем несколько секунд. Наше правило должно появится в списке в группе "SNMP Network Device". На время созданий правил советую ограничить область просмотра правил (Scope), дабы не перегружать консоль лишней информацией. Для этого в верхнем правом углу консоли нажать ссылку "Change Scope…" и выбрать "SNMP Network Device".
image
Т.к. мы создали правило выключенным, нам его надо включить. Включить нам его надо только для группы, которую мы создали в Части 1 — "APC UPS Devices".
Для этого жмем на созданном правиле правой кнопкой мыши, и в контекстном меню выбираем "Overrides\Overide the rule\For a group…" и выбираем группу "APC UPS Devices".
В появившемся диалоге отмечаем в столбце "Override" строку с параметром (Parameter Name) "Enabled", и меняем "Override Setting" на "true".
image image
Всё, на этом создание правила закончено. Вы можете зайти в веб-интерфейс UPS-а и форсировать самотестирование. В результате вы должны увидеть 2 алерта — один "Test APC Rule" с важностью Critical, второе — "UPS: Self-test passed" с важностью Information:
image
 

Мониторы (Monitors)

Следующим этапом будет создание алертов, которые вызваны изменение состояния бесперебойника. Изменение состояние может быть вызвано любым фактором, как внешним, так и внутренним. SCOM 2007 поддерживает 3 состояния: Healthy (всё хорошо), Warning и Critical (всё плохо). Для отслеживания статуса в SCOM 2007 служит Health State. Собственно меняют этот самый статус мониторы (Monitors). Но есть один нюанс — для SNMP доступен монитор, позволяющийся менять только 2 состояния. Логично предположить, что то будут пары состояния Healthy — Warning и Healthy — Critical (в случае, если вам всё-таки потребуется монитор с 3мя состояниями, придется использовать скрипты, но это большая тема для отдельной статьи).
Самый логичный (и легко воспроизводимый на практике) монитор с двумя состояниями для бесперебойников — это состояние "есть входящее питание"/"нет входящего питания". Давайте попробуем реализовать такой монитор.
 
Для воспроизведения данной ситуации достаточно вынуть питающий кабель из бесперебойника. В результате, при включенном тестовом правиле, вы должны получить алерт со следующим Alert Context:
image
Когда вы включите питающий кабель обратно, вы получите алерт со следующим Alert Context:
image
Замечание: для разных UPS сообщение с OID "1.3.6.1.4.1.318.2.3.3.0" (3я строка) может отличаться. В примере — для APC 15kV 3Phase.
 
Как видно, эти 2 события образуют пару. Первое событие переводит бесперебойник в логическое состояние Warning (или Critical, в зависимости от вашей инфраструктуры), второе событие возвращает бесперебойник в логическое состояние Healthy. Этих данных нам хватит, чтобы создать монитор (Monitor) со сменами состояний. Для этого нам надо:.
Перейти в консоли SCOM 2007 в секцию Authoring, выбрать "Authoring\Managment Pack Objects\Monitors", нажать правой кнопкой мыши и в контекстном меню выбрать "Create a monitor\Unit monitor" image
На этапе "Monitor Type" выбрать тип "SNMP\Trap Based Detection\Simple Trap Detection\Event Monitor — Single Event ans Single Event", а также указать MP (Management Pack) отличный от Default. image
На этапе General вводим:
— "Name" = "UPS: Input Power State"
— "Description" = любое понтяное описание
— "Monitor target" = SNMP Network Device
— "Parent monitor" = "Availability"
— "Monitor is enabled "= false (галочка снята)
image
На этапе "First SnmpTrapProvider":
— "Use discovery community string" (если у вас строка опроса не отличается от строки трапа)
— "Object Identifier" = 1.3.6.1.4.1.318.0.5
image
Этап "Build First Expression" используется для дополнительного анализа трапа, т.к. очень часто бывает так, что трапы передаются под одним OID, а в информации о трапе приходит состояние объекта. Так н-р работают трапы VMWare и некоторых производителей аппаратного обеспечения (серверов).
В нашем случае анализ не нужен, но (привет разработчикам) без создания хотя бы одного условия мастер не пустит нас дальше. В связи с этм необходимо создать условие:
1. Нажимаем на кнопку Insert
2. В столбце Parameter Name вводим "/DataItem/SnmpVarBinds/SnmpVarBind[4]/Value"
3. В столбце Operator выбираем "Equals"
4. В столбце Value вводим "1.3.6.1.4.1.318.0.5"
Т.е. фактическм мы еще раз проверили то, что входящий OID = "1.3.6.1.4.1.318.0.5". Напомню, что SnmpVarBind[4] означает 4ю строку в "Alert Context"
image
На этапе "Second SnmpTrapProvider" указываем:
— "Use discovery community string" (если у вас строка опроса не отличается от строки трапа)
— "Object Identifier" = 1.3.6.1.4.1.318.0.9
image
На этапе "Build Second Expression" делаем по аналогии с первым:
1. Нажимаем на кнопку Insert
2. В столбце Parameter Name вводим "/DataItem/SnmpVarBinds/SnmpVarBind[4]/Value"
3. В столбце Operator выбираем "Equals"
4. В столбце Value вводим "1.3.6.1.4.1.318.0.9"
image
На этапе "Configure Health" мы настраиваем состояние нашего бесперебойника. Как я и говорил, для SNMP в SCOM2007 доступно только два состояния. В соответствии с этим устанавливаем:
Для "First Event Raised":
"Operation State" = "UPS on battery"
"Health State" = "Warning"
Для "Second Event Raised":
"Operation State" = "UPS no longer on battery"
"Health State" = "Healthy"

Если для вашего окружение переход бесперебойника на питание от батарей является критичным событием — поставьте в "First Event Raised" "Health State" = "Critical"

image
На этапе "Configure Alerts" можно включить оповещение при переходе монитора в какое-либо состояние. В данном случае это очень полезно — администратору в подавляющем числе случаев полезно знать, что пропало входное питание на бесперебойнике.
Для включения алерта необходимо:
1. Отметить галку "Generate alerts for this monitor"
2. Выбрать в поле "Generate alert when" в зависимости от того, в какое состояние вы настроили перевод монитора на предыдущем шаге — в Critical или Warning. В нашем примере нужно выбрать "The monitor is in a warinng heathy state"
3. Для данного правила рекомендую снять галку "Automatically resolve the alert when the monitors returns to a healthy state". Т.к. питание может пропадать на незначительное время, а знать об этом событии всегда полезно.
4. Alert Name установить в "UPS: Input Power Lost, switch to battery"
5. Severity (важность) лучше установить в соответствии с состоянием монитора — "Match monitor’s health"
6. В Alert Description добавить любую необходимую информацию. Не забыв, что можно добавить сведения из переменных и Alert Context
image
   
После создания монитора, не забудьте включить его с помощью Overrides.
 
В результате, Health State бесперебойника будет меняться на Warning при пропадании входного питания, и в консоли будет появляться алерт.
Но тут есть нюанс. В случае, когда мониторинг производится с помощью агента (на сервере, рабочей станции — не важно), то агент отвечает за гарантированную доставку событий на сервер SCOM 2007. В случае же с SNMP, событие может быть зарегестрированно только в момент его появления. Т.е. н-р если в момент отправки трапа не было связи между устройством и сервером-приемником трапов, данное событие останется "не замеченным". Что касается предыдущего примера, то в нем такая ситуация очень вероятна, т.к. обычно бесперебойник питает свитчи, через которые и проходят все пакеты от этого бесперебойника до сервера-приемника. При этом ситуация, когда после полного разряда батарей и отключения бесперебойника, будут обесточены и свитчи, крайне вероятна. А при включении питания и включении бесперебойника, будет сгенерирован трап, но он не сможет дойти до сервера, т.к. свитчам требуется время на включение. В связи с этим может возникнуть ситуация, когда состояние устройства "зависнет" в режиме "Warning" и не вернется в "Healthy", т.к. не получит второго трапа.
В этом случае нужно будет вручную, через Heath Explorer, сбросить состояние устройства.
 
В 4ой части пойдет речь о том, как собирать статистику по SNMP и сохранять её в SCOM 2007.
Реклама

2 Responses to Мониторинг ИБП APC в SCOM 2007. Часть 3я.

  1. Alex_ptl says:

    День добрый
     
    У меня вопрос касательно фразы
    > После создания монитора, не забудьте включить его с помощью Overrides.
     
    У меня с этим проблема
    Я создал группу туда включил один UPS
    Создал монитор
    А вот когда пытаюсь разрешить (через override) этот монитор на заданную группу
    я эту группу выбрать немогу :(
     
    Что можете сказать по этому поводу ?

  2. Alex_ptl says:

    Вопрос снят
     
    Не тот случайно MP указал (когда создавал монитор)
     
    Все работает
     
     

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

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: