Operations Manager 2007 R2 w służbie wirtualizacji opartej o technologie Microsoft. Część 6: PRO Tips - Tworzenie własnych modyfikacji w SCOM 2007 R2 na potrzeby zarządzanego środowiska

Udostępnij na: Facebook

Autor: Joanna Subik

Opublikowano: 2012-05-17

Spis treści:

  • wstęp,
  • tworzenie własnego PRO Packa,
  • tworzenie monitora jednostkowego (Unit monitor),
  • podsumowanie.

Wstęp

Domyślne wskazówki PRO (Performance and Resource Optimization), możliwe do wykorzystania dzięki integracji dwóch produktów: System Center Operations Manager (OpsMgr) oraz System Center Virtual Machine Manager, tworzą zgrany zespół, współpracujący ze sobą w celu dostarczenia administratorom pewności, że zarządzane przez nich środowisko wirtualizacji funkcjonuje w sposób wydajny i optymalny. Z poprzednich artykułów z serii dowiedzieliśmy się, że problemy ze „zdrowiem” komponentów infrastruktury, monitorowanych przez SCOM, mogą być automatycznie rozwiązywane za pomocą wskazówek PRO (PRO Tips). Jednak, nierzadko pojawiają się sytuacje, w których wartości progowe konkretnej wskazówki powinny zostać zmodyfikowane w celu dopasowania ich do środowiska, w którym są wywoływane i zarządzane.

Celem poniższego artykułu jest opisanie sposobu tworzenia własnych modyfikacji w SCOM na potrzeby zarządzanego środowiska. Artykuł wchodzi w skład serii mającej na celu przedstawienie, w jaki sposób wdrożenie dwóch produktów z rodziny System Center: Operations Manager 2007 R2 oraz Virtual Machine Manager 2008 R2 upraszcza codzienne zarządzanie wirtualnym środowiskiem oraz jego monitorowanie.

Dotychczas ukazały się:

  1. Operations Manager i wirtualizacja: better together?
  2. Instalacja SCVMM 2008 R2.
  3. Management Pack dla Virtual Machine Manager 2008 R2.
  4. Management Pack dla Server Virtualization.
  5. Uruchomienie i wykorzystanie PRO Tips.

Tworzenie własnego PRO Packa

Jak już zostało wcześniej powiedziane, zbudowanie własnego PRO Packa przypomina w istocie budowanie Management Packa dla OpsMgr – co więcej – można tego dokonać przy użyciu tych samych narzędzi. Taki nasz PRO Pack będzie bowiem oferował funkcjonalności, podobne do tych, które dają Management Packi do SCOM, a mianowicie: kolekcjonowanie zdrowia i wydajności aplikacji, hostów, informowanie w czasie rzeczywistym o ich aktualnych obciążeniach oraz możliwości, pozwalające na automatyczne podjęcie pewnych działań naprawczych (za pomocą zadań diagnostycznych i odzyskiwania, o których będzie jeszcze mowa w niniejszym artykule). Wspomniane już narzędzie do tworzenia autorskich Management Packów nazywa się Authoring Console i są dostępne do pobrania ze strony Microsoft Download. Polecam Państwu zapoznać się z narzędziami, które dostępne są do ściągnięcia razem z Authoring Console - wiele z nich ułatwia pracę, pozwala na sprawdzenie, czy tworzony Management Pack jest poprawny od strony kodu źródłowego itd. Konsola jest najlepszym sposobem na edycję klas i relacji pomiędzy komponentami Management Packów. Pozwala to również na zdefiniowanie modelu zdrowia, zawartego w MP (Management Pack), oraz całej logiki monitorowania. Można się było już domyślić, że stopień zaawansowania oraz poprawności tworzonego PRO Packa zależeć będzie od wiedzy na temat ich tworzenia, dlatego pozwolę sobie również podać odnośnik do Authoring Guide, będącego zbiorem wskazówek oraz przykładów, jak Management Pack powinien zostać zbudowany, wg. najlepszych praktyk. Przydatna również będzie umiejętność programowania w XML, PowerShell lub VBScript.

Poniższy rysunek (Rys. 1.) prezentuje przykład działania Tips PRO, wchodzącego w skład PRO Packa.

Rys. 1. Przykład działania Tips PRO: wykrycie nadmiernej utylizacji pamięci hosta.

Tworzenie własnego PRO Packa

W naszym artykule postaramy się utworzyć podstawowy Management Pack, rozszerzający nieco możliwości trybu Maintenance (Maintenance Mode), dostępnego w ramach VMM od wersji 2008 R2 tego produktu. Tytułem wyjaśnienia, tryb ten może zostać uruchomiony dla hosta w momencie, kiedy wymagane jest wykonanie na nim pewnych zadań serwisowych, np. podmiana fizycznych komponentów serwera czy instalacja najnowszych poprawek bezpieczeństwa. Ów tryb jest wspierany zarówno dla hostów HyperV, Virtual Server jak i VMWare ESX.

Tyle teorii. Pora zatem przejść do tworzenia własnego PRO Packa. W tym celu należy uruchomić Authoring Console, wybrać File à New à Empty Management Pack. Następnie wymagane jest podanie nazwy nowego MP. Nasz PRO Pack zostanie nazwany VMM.2008.R2.Pro.Extended.

Rys. 2. Tworzenie nowego MP.

* *Następnie, należy podać Display Name (nazwa MP, która będzie wyświetlana w konsoli SCOM). Można podać opcjonalnie opis funkcjonalności, który będzie zawierał autorski MP.

Rys. 3. Tworzenie nowego MP.

* *

Sugeruję od razu zapisać tworzony MP na dysku. Ważna uwaga: nazwa pliku powinna być zgodna z nazwą stworzonego MP – w przeciwnym razie, próba jego importu zostanie odrzucona z powodu niezgodności nazw.

Rys. 4. Tworzenie nowego MP.

Kolejnym krokiem jest modyfikacja podstawowych właściwości tworzonego PRO Packa. Należy kliknąć FileàManagement Pack Properties.

Rys. 5. Zmiana właściwości autorskiego PRO Packa.

Po pierwsze, w zakładce General (ogólne) należy zmienić wersjonowanie naszego PRO Packa. Dobrą praktyką jest zmiana domyślnego numeru wersji (1.0.0.0.) na numer MP, który stanowi bazę dla autorskiego MP. Najnowszą, na dzień pisania niniejszego artykułu, wersją PRO Packów jest 2.0.4521.0, i taki numer zostanie podany w poniższym oknie.

Rys. 6. Zmiana wersjonowania autorskiego PRO Packa.

Po drugie, w zakładce Relationship (relacje) domyślnie wybranych jest kilka domyślnych zestawów klas (Microsoft System Center Library, Microsoft Windows Library, System Health Library oraz System Library). Aby jednak nasz PRO Pack działał poprawnie, należy dodać do referencji zestawy klas, zdefiniowane w podstawowych Management Packach PRO, które zostały uprzednio zaimportowane w SCOM. Dokładny ich opis znajduje się w poprzednich częściach niniejszej serii artykułów. W celu dodania referencji należy wybrać Add reference oraz wskazać lokalizację plików Management Packów, wylistowanych na Rys. 7. (czerwona ramka).

Można oczywiście utworzyć własne metody wykrywania (Discovery) lub klasy, natomiast w tym przypadku, warto wykorzystać gotowe zestawy klas, by uniknąć zbędnego nakładu pracy.

Rys. 7. Dodanie relacji z powiązanymi Management Packami.

Tworzenie monitora jednostkowego (Unit monitor)

Po zdefiniowaniu podstawowych właściwości tworzonego PRO Packa nadeszła pora na utworzenie monitora jednostkowego (Unit monitor). Narzędzie Authoring Console pozwala oczywiście na przygotowanie ogromnej liczby predefiniowanych monitorów, z których każdy jest dedykowany do innych celów. Jeżeli spośród nich twórca MP nie znajdzie monitora, odpowiedniego dla swoich celów, pozostają jeszcze monitory skryptowe, gdzie za pomocą języków VBScript, PowerShell czy XML można umieścić dowolną logikę monitorowania komponentów. Dla naszych początkowych zastosowań w zupełności wystarczy monitor typu Unit, który pozwoli reagować na określone akcje, zachodzące na serwerze VMM (Virtual Machine Manager).

W celu utworzenia takiego monitora należy wybrać Monitors, w widoku zdrowia tworzonego Management Packa, a następnie w otwartym oknie, klikając prawym uchem myszy, wybrać kolejno: NewàWindows EventsàSimpleàEvent Reset. Monitor typu Event Reset działa w bardzo prosty sposób: zmienia stan monitorowanego komponentu w zależności od określonego zdarzenia, które zostanie zarejestrowane w Event logu na wskazanej maszynie. Będziemy wyszukiwać w logu VM Manager Eventu nr 1705 i określonych parametrów, ponieważ zadaniem tworzonego monitora jest zarejestrowanie momentu, kiedy określony host przechodzi w stan serwisowy (Maintenance Mode).

Rys. 8. Tworzenie monitora typu Event Reset – krok 1.

Następnie, w nowo otwartym oknie (Rys. 9.) należy podać:

  • Element ID – tworzymy przez modyfikację ostatniego członu nazwy już istniejącej, dodając StartMM,
  • Display Name – nazwa monitora, jaka będzie wyświetlana,
  • Description – wg. potrzeb,
  • Target – klasa, do jakiej będzie odwoływał się monitor,
  • Parent monitor – wybieramy System.Health.EntityState,
  • Category – wybieramy Custom.

Rys. 9. Tworzenie monitora typu Event Reset – krok 2.

Następnie, należy podać nazwę EventLogu, z którego pobierane będą zdarzenia Virtual Machine Managera dla zdarzenia, które będzie generowało problem (Unhealthy Event). Trzeba pamiętać, że wspomniany log znajduje się jedynie na serwerze VMM, zatem należy się do niego odwołać i wybrać poprawny Dziennik Zdarzeń. (Rys. 10.).

Rys. 10. Tworzenie monitora typu Event Reset – krok 3.

Przechodzimy kolejno do budowania wyrażenia regularnego, w pełni definiującego kryteria naszego monitora. Należy podać wspomniany już nr zdarzenia (1705) oraz źródło, z jakiego ma on być pobierany (Virtual Machine Manager). Ponieważ zdarzenie nr 1705 nie definiuje jednoznacznie zamierzonego przez nas celu, należy określić dodatkowe warunki jego wykonywania. W nowej linii należy wybrać Specify Event Specific Parameter To Use oraz określić numer parametru jako 3. Akcja ta automatycznie wygeneruje nazwę parametru jako Parameter 3 (Rys. 11.).

Rys. 11. Tworzenie monitora typu Event Reset – krok 4.

* *

W kolejnym kroku nadajemy wartość nowemu wyrażeniu: „Start maintenance mode” (Rys. 12.).

Rys. 12. Tworzenie monitora typu Event Reset – krok 5.

* *

Pierwsza część tworzenia monitora jednostkowego już za nami, teraz zajmiemy się drugą częścią – sprawdzenie, czy określone zdarzenie pojawiło się w Dzienniku Zdarzeń i czy przywrócono monitor do poprawnego, „zielonego” stanu. Kontynuujemy pracę z tym samym kreatorem i, tak jak uprzednio, wybieramy zdarzenie nr 1705 z logu VMM, znajdującym się na serwerze Virtual Machine Managera. Tym razem, jako wartość parametru dodatkowego należy podać „Stop maintenance mode” (Rys. 13.). Na tym kończymy pracę z kreatorem.

Rys. 13. Tworzenie monitora typu Event Reset – krok 6.

Należy pamiętać, że świeżo utworzony monitor domyślnie nie generuje żadnych z alertów. Aby pojawił się on na konsoli SCOM, należy, we właściwościach stworzonego monitora, w zakładce Alerting, zaznaczyć: Generate Alerts For This Monitor oraz podjąć decyzję, czy alert ma być generowany, jeśli monitor przechodzi w stan Warning, czy też Critical (Rys. 14.).

Rys. 14. Włączanie generowania alertów na konsoli SCOM.

Kolejnymi elementami naszego Management Packa mogą być zadania diagnostyczne oraz zadania odzyskiwania, na podstawie których autor Management Packa oraz administrator może zdefiniować akcje naprawcze i diagnostyczne dla hostów oraz maszyn wirtualnych.

Podsumowanie

Celem niniejszego artykułu było przestawienie podstawowych zasad pisania własnego Management Packa na podstawie określonego scenariusza, dla potrzeb monitorowania środowisk wirtualnych. W artykule stworzony został Management Pack z jednym monitorem, którego zadaniem było wyświetlenie na konsoli SCOM maszyn znajdujących się w stanie Maintenance Mode. Wspomniany MP może zostać dalej rozbudowywany o dodatkowe komponenty oraz może posłużyć jako baza wyjściowa dla dalszych modyfikacji monitoringu środowiska.