Monitorowanie Configuration Manager’a i monitory zachowujące się jak reguły (część 2)

 
części pierwszej opisałem monitory zawarte w Management Pack-u do Configuration Manager-a, których zachowanie przypomina bardziej reguły niż typowe monitory.

 

Tym razem przedstawię propozycję, jak można to zachowanie zmienić i uzyskać efekt odpowiadający typowym monitorom. Można przyjąć następujący plan:

 

  1. Utworzenie zapisywalnego Management Pack-a zawierającego wyłączenie monitora z Manual Reset przez Override
  2. Wprowadzenie nowego monitora w którym odwołanie do Manual Reset jest zastąpione przez Timer Reset
  3. Zmiana odwołania do nadrzędnego (parent) monitora, który jest zdefiniowany w oryginalnym MP, – wystarczy tu dodać prefix identyfikujący Management Pack przez alias.

Przyglądając się konfiguracji któregokolwiek z monitorów opisanych w pierwszej części, zauważymy, że wywodzą się z tego samego pakietu MP o nazwie: „Microsoft System Center 2012 Configuration Manager Monitoring”:

 

 

W celu uzyskania pliku XML, który będzie można przeglądać, należy przeprowadzić eksport Management Pack-a. Możemy to uzyskać poleceniem:

 

PS C:\> Get-SCOMManagementPack -Name Microsoft.SystemCenter2012.ConfigurationManager.Monitoring |Export-SCOMManagementPack -Path C:\Export

 

Teraz dysponując postacią XML, można plik wczytać do wygodnego edytora plików tekstowych. Korzystając z wyszukiwania, można odnaleźć nazwę (Display Name) widoczną w pokazanym wyżej oknie dialogowym (Fail to configure proxy setting on WSUS server).

Trafiamy w ten sposób do sekcji Display String.

 

 

W ten sposób można dowiedzieć się, że prawdziwa nazwa monitora to:
Microsoft.SystemCenter2012.ConfigurationManager.WsusConfigurationManager.FailedToConfigProxy.

Kolejne wyszukiwanie pozwala w końcu odnaleźć odpowiedni Unit Monitor:

 

 

Ten właśnie monitor trzeba umieścić w naszym Management Packu (sekcja ), jednak w stosunku do oryginału potrzebne będą pewne zmiany.

Zmiany wynikają z zastosowanego typu monitora, poniżej porównanie obu typów:

 

TypeID=”Windows!Microsoft.Windows.SingleEventLogManualReset2StateMonitorType”

 

 

TypeID=”Windows!Microsoft.Windows.SingleEventLogTimer2StateMonitorType”

 

 

Jak widać wprowadzenie drugiego typu monitora wymaga nie tylko zmiany nazwy TypeState, lecz także wprowadzenia zmiennej TimerWaitInSeconds. Również trzeba zauważyć, że nadrzędny monitor określony jest (inaczej niż w oryginale) w innym Management Packu, tu wskazanym przez alias CM20212Mon (jest to oczywiście Microsoft.SystemCenter2012.ConfigurationManager.Monitoring).

Zawartość sekcji Monitoring przykładowego MP. Zmienione lub wprowadzone dodatkowe zapisy wyróżniono.

 

 

Po zaimportowaniu otrzymujemy konfigurację, w której monitor skonfigurowany jako Manual reset jest wyłączony, a w jego miejscu działa analogiczny monitor Timer Reset.

 

 

Po upływie skonfigurowanego czasu, monitor wraca do swojego stanu „podstawowego”, czyli ulega „uzdrowieniu”. Jeżeli stan błędu trwa nadal i są wytwarzane kolejne zdarzenia przestawiające stan – znowu pojawi się stan błędu. Jeżeli jednak błędy przeminą, nasz monitor automatycznie powraca do stanu zdrowego, nie czekając na dodatkowa pracę operatora.

Dla uzyskania pełnego efektu, podobne działania trzeba powtórzyć dla pozostałych 15 monitorów tego samego typu, pamiętając o uzupełnieniu także StringResource, właściwych DisplayString oraz (ewentualnie) KnowledgeArticle. Te elementy można wykorzystać z pierwotnego pakietu MP (Microsoft.SystemCenter2012.ConfigurationManager.Monitoring), usuwając może wzmianki o regułach w opisach monitorów.