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

Дано: несколько больших ИБП фирмы APC (мощность 5к, 10к и 15к).

Задача: получать из них данные, алерты и другую информацию.

Данные УПС поддерживают протокол SNMPv2, будем использовать его.

Что нам понадобится:

1. MIBы от УПС. Файл с ними находиться на диске Network Managment Card: \SNMP\powernet386.mib. Там же крайне полезный файл apctraps386.bat, в котором можно посмотреть описание некоторых трапов.

2. Статья HOW TO: Configure the Simple Network Management Protocol (SNMP) Service in Windows Server 2003

3. Любой MIB-explorer. Я использовал iReasoning MIB Browser Personal Edition (freeware).

Итак, приступим.

Установка SNMP на Windows Server 2003

Запускаем "Установку и удаление программ", жмем "Установка компонентов Windows". Находим "Средства управления и наблюдения", жмем "Состав" и выбираем "Протокол SNMP". После стандартно: ОК, Далее и пр. Потребуется диск к дистрибутивом Вашей версии Windows Server 2003 (если установлен R2, понадобиться только первый диск).

После этого производим настройку согласно статье (2). На вкладке "Ловушки" добавляем "Имя сообщества" public, а затем IP-адрес нашего root-сервера. Это же имя public и IP-адреса наших ИБП прописываем на складке "Безопасность":

Image1 Image2

 

Добавление устройств в SCOM 2007

Запускаем SCOM 2007 Operation Console, далее идем в Administration.

Жмем на дереве правой кнопкой мыши и выбираем Discovery Wizard. Выбираем Advanced discovery, Computer & Device Types устанавливаем Network Devices, жмем далее, прописываем в Start IP и End IP адрес одного из ИБП (или можно диапазоном, если все ИБП в одном диапазоне). Жмем далее, ждем, после отмечаем галкой найденный IP.

Добавление MP в SCOM 2007

Там же в Operation Console жмем правой кнопкой мыши в дереве, и выбираем Create Managment Packs. В поле Name вводим APC UPSs Managment Pack. В описании вводим любую сопроводительную информацию. Жмем Далее, заполнение Knowledge также опционально. Жмем Create.

Создание группы (Group)

В Operation Console переходим в Authoring, там в дереве Groups жмем правой кнопкой мыши и выбираем Create Group…В поле Name вводим APC UPS Devices, выбираем наш созданный MP. В Explicit Members добавляем найденные ранее Network Devices, жмем Далее, Далее, затем Create.

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

Для проверки того, что всё работает как хотелось, создаем тестовое правило. В Authoring жмем на Rules правой кнопкой мыши, Create Rule. Выбираем тип правила Alert Generationg Rules\Event Based\Snmp Trap (Alert). Не забываем выбрать наш MP.
См. рисунок. Жмем Далее.
Image3
В поле Rule Name вводим всё что угодно (н-р Test APC Rule).
Rule category выбираем Alert.
А вот теперь самое важное и главное. Rule Target. Первое, что приходит на ум многим — поставить здесь созданную нами ранее группу APC UPS Devices. Но тут разработчики SCOM2007 приготовили нам "подарок". Подробно это описано в блоге G14, так что на причинах и следствиях подробно останавливаться не буду. Скажу лишь, что если выбрать нашу группу, SCOM2007 честно предупредит нас, что правило будет действовать на саму группу, но никак ни на её членов. В связи с этим в качестве Rule Target выбираем SNMP Network Devices (в диалоге выбора Target надо будет отметить View all targets)
Жмем Далее.
Image4
На данном этапе вводим имя сообщества (community string), в нашим примерах выше он был public. OID (Object Indentifier) оставляем не заполненным, вместо этого включаем опцию All Trap. Такая настройка позволит этому правилу реагировать на все сообщения от наших ИБП.
Жмем Далее.
Image5
Здесь оставляем всё как есть. Для тестирования хватит.
Жмем Create.
Image6

Настройка ИБП и проверка правила

Заходим на веб-интерфейс ИБП (далее описаны настройки, как они выглядят на версии 3.2.1 APC Network Managment Card). Переходим на вкладку Administration, далее слева выбираем SNMP — access. Проверяем, что он включен.

Переходим на SNMP — access control и проверяем, что Community name "public" включен и разрешен доступ на чтение.

В верней панели ссылок переходим на Notification, далее в левом девере на SNMP Traps — trap recievers. Добавляем новый trap receiver:

Community Name: public

NMS IP/Host Name: IP-адрес нашего Windows-сервера SNMP (я пытался ввести имя севрера, но ИБП отказывался посылать уведомления в такой конфигурации, не смотря на то, что тесты DNS проходили)

Trap Generation: Enabled

Authenticate Traps: Enabled

Жмем Apply. Переходим на SNMP Traps — test и жмем Apply. В строке Last Test Result должно появиться Test SNMP Trap sent successfully.

Открываем Operation Console, где мы в виде (View) Active Alerts должны увидеть сгенерированный алерт (не обращайте внимания, что у меня имя (Name) алерта — Test Rule. Должно быть Test APC Rule):

Image7

Что дальше

После того, как тест прошел успешно, нужно будет настроить правила согласно OID-ам. Об этом во второй части.

Продолжение следует.

При создании данной статьи использовался файлик "Monitoring ESX on SCOM 2007 v2.2.pdf". Крайне рекомендую ознакомиться, если придется настраивать алерты с syslog или SNMP.

Реклама

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

  1. Alexey says:

    Привет :)
    А зачем делать All trap? APC же замучает флудом своим информационным и типа "я все еще жив, не забудьте меня"…

  2. Anton says:

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

  3. Алексей says:

    Где же вторая часть ))) Ждём с нетерпением

  4. Anton says:

    В процессе написания. Просто физически не хватает времени.

  5. Андрей says:

    У меня складывается впечатление что с обработкой SNMP Trap-ов в SCOM будут большие проблемы. Поправьте меня если я не прав.
    Проблемы начинаются на этапе "Configure the trap OIDs to collect"
    Дело в том, что в SNMP Trap приходит множество переменных с различными OID как в имени так и в значении.
    У MOM не существует внятного механизма описать параметры полуаемой Trap.
    Более того, несколько OID которые можно укзать в соответствующей табличке объединяются по "или" а не по "и".
     
    К примеру, от УПС приходит событие "Питание от батареи", а затем "Питание от сети восстановлено". События состоят из переменной "Питание от батареи" и переменных "Тревога включена" и "Тревога отключена". Т.е. нужно отлавливать как минимум 2 переменных в кажом трапе. У меня это не получилось. MOM реагирует на любую их этих переменных. Т.е. отличить событие потери питания от любого другого (тоже ключающего сигнал тревоги) он не сможет. Вот такая вот проблема.
     
    Может быть я конечно что-то не так делаю?

  6. Anton says:

    К счастью нет. Сейчас пишу вторую часть, там это всё будет.
    APC (это по RFC) присылает разные OID на каждый из трапов.
    Н-р:
    OID = 1.3.6.1.4.1.318.0.77 — это первый алерт "An input voltage or frequency problem prevents switching to bypass mode"
    OID = 1.3.6.1.4.1.318.0.78 — это второй алерт "An input voltage or frequency problem no longer prevents switching to bypass mode."
     
    и т.д.
    Поэтому крайне просто строить мониторы для таких событий.
    Даже если это не так, МОМ позволяет анализировать таблицу переменных AlertContex.
    Н-р есть такая табличка AlertContex:

    Object Identifier
    Syntax
    Value

    1.3.6.1.6.3.1.1.4.3.0
    Oid
    1.3.6.1.4.1.318

    1.3.6.1.3.1057.1
    Ip Address
    10.4.1.110

    1.3.6.1.4.1.318.2.3.3.0
    Octets
    UPS: An input voltage or frequency problem prevents switching to bypass mode.

    1.3.6.1.4.1.318.2.3.1.0
    Integer
    7

    1.3.6.1.6.3.1.1.4.1.0
    Oid
    1.3.6.1.4.1.318.0.77

    1.3.6.1.2.1.1.3.0
    Timeticks
    95681985
    Чтобы добраться до Value каждой из строк, надо использовать такую конструкцию:
    /DataItem/SnmpVarBinds/SnmpVarBind[#]/Value
    где # — это номер строки в таблице. Счет начинается с единицы.
    Т.е. н-р  /DataItem/SnmpVarBinds/SnmpVarBind[3]/Value = "An input voltage or frequency problem prevents switching to bypass mode" и имеет тип string.
    Никто не мешает Вам использовать как условия И так и ИЛИ в Expression.
    ОТмечу, что это справедливо для мониторов. Для правил надо использовать синтаксис Data/EventData/DataItem/SnmpVarBinds/SnmpVarBind[#]/Value
    Если использовать эти переменные в описании правил или мониторов, то надо окружить пеменные знакаи $, н-р вот так:
    $Data/EventData/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value$

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

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

Логотип WordPress.com

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

Фотография Twitter

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

Фотография Facebook

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

Google+ photo

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

Connecting to %s

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