Сегодня мы продолжим приводить в порядок пакет управления “Windows Server DHCP Management Pack for System Center Operations Manager 2007″.

В первой серии данной эпической саги мы разобрались, почему пакет управления вызывает ошибки в журналах событий “Operations Manager” на серверах с операционной системой Windows 2003, а также, почему он пытается мониторить DHCP на серверах с операционной системой Windows Server 2012/R2, хотя не должен этим заниматься.

Во второй серии мы запретили пакету управления дискаверить DHCP на Windows Server 2012/R2, теперь эти серверы исчезли из всех списков и с них перестали сыпаться мусорные алёрты. Также мы добавили 3 новых класса, чтобы складывать в них DHCP:

  • на серверах Windows Server 2008 и 2008R2,
  • только на серверах Windows Server 2008 R2,
  • только на серверах Windows Server 2008.

И ещё мы запустили дискаверинг сущностей в эти классы.

Было:

Стало:

Продолжим идти по плану.

4. Перенацеливаем правила и мониторы, обращающихся к журналам событий “Microsoft-Windows-Dhcp-Server/FilterNotifications” и “Microsoft-Windows-Dhcp-Server/Operational” на класс содержащий серверы DHCP только на ОС Windows Server 2008 R2.

Как мы выяснили ранее, журналов событий “Microsoft-Windows-Dhcp-Server/FilterNotifications” и “Microsoft-Windows-Dhcp-Server/Operational” нет на Windows Server 2008 и Windows Server 2003. Поэтому ищем правила и мониторы, обращающиеся к этим журналам событий и перенацеливаем их с класса “Microsoft.Windows.2008R2.DHCP.Server.Role” на новый класс “Microsoft.Windows.2008R2.DHCP.Server.Role.2008R2only” (только серверы DHCP с ОС Windows Server 2008 R2).

На наше счастье таких правил и мониторов оказалось всего 4. Вот список:

Перенацелить, разумеется, нужно все 4.

Также нужно учесть, что у нас теперь происходит работа с классом уровня вложенности N+1 по отношению к классу “Microsoft.Windows.Computer”, значит, отражаем это, добавив ещё один “/Host/” в код (изменения выделены):

Было:

 Стало:

5. Перенацеливаем все правила и мониторы, обращающиеся к уникальным для Windows Server 2008R2 счётчикам производительности на новый класс.

Теперь нам нужно избавиться от ошибок в журнале событий “Operations Manager”, вызванных обращением к несуществующим на Windows Server 2003 и Windows Server 2008 счётчиках производительности. Исправить это безобразие несложно, но муторно. Нужно составить список правил и мониторов, вызывающих ошибки, и перенацелить их на созданные нами классы, содержащий только серверы DHCP Windows Server 2008R2. Берём их из текста ошибок. Нас интересует “Workflow name”. Итого, 18 правил, формирующих графики для SCOM.

Как мы выяснили раньше, счётчиков “DHCP Server/Offer Queue Length”, “DHCP Server/Denied due to nonmatch”, и “DHCP Server/OfferQueueLength” нет на Windows Server 2003 и 2008.  Счётчики DHCPv6 отсутствуют на Windows Server 2003, а на Windows Server 2008 они есть, но к ним ведёт другой путь. Перенацелим все 18 правил на класс Microsoft.Windows.2008R2.DHCP.Server.Role.2008R2only.

Было:

 Стало:

Повторить 18 раз.

6. Исправляем пути к счётчикам производительности DHCP на Windows Server 2008

Теперь разберёмся с довольно неочевидной частью. Мы перенацелили 18 правил на класс, содержащий DHCP на серверах Windows Server 2008 R2. Но 15 из этих правил вполне могли бы отрабатывать на Windows Server 2008 если бы в них были прописаны правильные пути к счётчикам. Давайте скопируем все 15 правил, попутно исправляя пути:

Правило, нацеленное на класс “Microsoft.Windows.2008R2.DHCP.Server.Role.2008R2Only”:

 Копия – правило, нацеленное на класс Microsoft.Windows.2008R2.DHCP.Server.Role.2008Only, с исправленным путём к счётчику:

Запасаемся терпением и добавляем таким образом 15 новых правил.

7. Последние штрихи

Итак, мы перенацелили всё, что необходимо на хостед классы, в результате мы избавились от ошибок в логах, в тоже время сохранив функциональность всех представлений в оперативной консоли. Все алёрты от хостед классов будут сыпаться во вьюшку с алёртами, нацеленную на вышестоящий класс, нам это и нужно. Все вьюшки с графиками работают аналогично – они покажут нам графики всех классов. Однако, мы потеряли функциональность окна Health Explorer. Там не будут видны мониторы, нацеленные на хостед класс (а мы перенацелили 2 монитора на такой класс). Чтобы это исправить, нам нужно добавить dependency monitor, который свяжет 2 класса.

Для разнообразия посмотрим, как сделать этот монитор прямо из оперативной консоли.

Результат:

И завершающий штрих. Поменяем название пакета управления, чтобы он мог корректно сосуществовать с нативным пакетом управления от Microsoft. Это спасёт нас в случае, если вдруг Microsoft разродится апдейтом (чего не было с 2010го года, но мало ли). Также это позволит первое время пользоваться и старым и новым пакетами управления, чтобы в итоге оставить лучший.

Было:

 Стало:

Также поменяем id основного класса: “Microsoft.Windows.2008R2.DHCP.Server.Role” меняем автозаменой на “Microsoft.Windows.DHCP.Server.Role”

Ну что же, подводим итог. Ошибки в логах на серверах Windows Server 2003 устранены, мусорные алёрты от DHCP2012 и 2012R2 также устранены, названия представлений приведены к нормальному виду. Можно считать, что пакет управления допилен в достаточной степени, чтобы им пользоваться.

Для тех, кому лениво всё делать самому, привожу готовый исправленный пакет управления. Он сделан под старую схему, поэтому его можно импортировать в SCOM начиная с версии 2007. Также его можно открывать и редактировать в SCOM2007R2 Authoring Console.

Microsoft.Windows.Server.2003.2008.2008R2.DHCP