Artykuły

A A A
Drukuj Ekportuj do PDF
Opublikowane: 2011.07.14 7:00 | Łukasz Rutkowski | Aktualizacja: 2011.07.11 16:06

System Center Operations Manager 2007 R2: Rozbudowa monitorowania sieci - część 2

tagi: sieci
Część druga serii o monitorowaniu urządzeń sieciowych przez System Center Operations Manager 2007 R2 traktuje o możliwości rozbudowy systemu monitorowania o własne monitory SNMP.

Wstęp

Jak zostało przedstawione w pierwszej części serii artykułów o monitorowaniu sieci, badanie dostępności urządzeń sieciowych out-of-the-box jest bardzo ubogie i sprowadza się do badania jednego elementu – dostępności. Żeby to jeszcze był ping… Zamiast tego mamy sprawdzanie odpowiedzi na protokół snmp specyficznego OID .1.3.6.1.2.1.1.5.0, czyli w skrócie sysName. Mamy zatem rozumieć, że jedynym wyznacznikiem dostępności urządzenia staje się prosty test snmp. A jeśli administrator wyłączy SNMP? Czy urządzenie jest wyłączone? Zapewne nie. Oczywiście możemy badać output polecenia ping do badania wszystkich urządzeń sieciowych – jest nawet gotowy Management Pack, który bardzo sprawnie sobie z tym radzi - opslogix.com/ping. Wystarczy wgrać Management Pack, podać listę urządzeń i sprawdzać, które nie odpowiada. Czy to wszystko? A stan interfejsów? Pamięć? Temperatura? Procesor? To wszystko postaramy się zmonitorować w naszej serii artykułów.

Monitory i reguły

Operations Manager jest o tyle dobrym narzędziem, że pozwala na dość szerokie spektrum rozszerzania funkcjonalności. Dla urządzeń sieciowych możemy tworzyć nowe klasy, ich atrybuty, reguły, zadania i monitory. W tym artykule zajmiemy się ostatnim rodzajem workflow – monitorami.

Często wiele osób zadaje pytanie, czym się różnią monitory od reguł. Pytanie jest dość ważne z tego powodu, że w MOM 2005 były tylko reguły. Reguły w OpsMgr służą do zbierania wszystkiego, co się rusza i pozwala na zbieranie. Możemy zatem zbierać dane wydajnościowe, zdarzenia z event log, wpisy z plików, zdarzenia WMI, informacje przekazane z syslogów lub napisać własny skrypt, który coś zwróci. Efektem ubocznym takiego zebrania może być alarm na konsoli, ale nie jest to główny cel działania reguł. Można śmiało powiedzieć, że jest to taki scentralizowany prosty harmonogram zadań.

Monitory to już zupełnie inna bajka – służą one do zapalania lampek przy obiektach, które zostały wykryte. Jeśli zatem zabraknie Wam miejsca na dysku, monitor zareaguje alarmem w konsoli i zapaleniem się czerwonej lampki przy obiekcie komputer.domena.local. Gdy tylko administrator usunie zbędne pliki, po godzinie system znów sprawdzi ilość wolnego miejsca i gdy będzie satysfakcjonująca, zgasi alarm i zmieni kolor lampki na zielony.

Co zatem może być monitorem w naszym urządzeniu sieciowym? Na przykład poziom wykorzystania procesora albo mnogość błędnych pakietów TCP na interfejsach ogółem. Przekroczenie pewnego poziomu spowoduje zapalenie się lampki na kolor żółty lub zielony. Na początek mamy jedynie dostępność:

System Center Operations Manager 2007 R2 - Network Monitoring - Part 2_files\image001.jpg

Rysunek 1 - Monitor urządzenia sieciowego

System Center Operations Manager 2007 R2 - Network Monitoring - Part 2_files\image002.jpg

Rysunek 2 - Widok urządzenia sieciowego w Operations Manager 2007 R2

Rozpoczynamy monitorowanie

Warto zatem zmonitorować procesor takiego urządzenia. Zużycie procesora może być zarówno zbierany jako dana wydajnościowa, jak i badany w kontekście monitora. Dzisiaj zajmiemy się monitoringiem. Na początek musimy wiedzieć, jaka zmienna OID odpowiada za monitorowanie procesora. Możemy posłużyć się poczciwą przeglądarką i znaleźć na witrynie Cisco.com odpowiadający nam artykuł. cisco.com/en/US/tech/tk648/tk362/technologies_tech_note09186a0080094a94.shtml jest jasno napisane, że nowe iOS (systemy operacyjne dla urządzeń sieciowych) obsługują trzy zmienne – zmienne dostarczają nam średnich danych z ostatnich 5 sekund, 1 minuty lub 5 minut. Dla nas do testów najlepsza będzie zmienna 1 minutowa, a więc OID .1.3.6.1.4.1.9.9.109.1.1.1.1.7.1 o nazwie cpmCPUTotal1minRev. Warto także przetestować, czy ta nasza zmienna zwraca poprawną wartość. Po instalacji pakietu Net-SNMP – dostępny za darmo w sieci – możemy wykonać polecenie:

snmpwalk –v2c –c public 192.168.100.50 .1.3.6.1.4.1.9.9.109.1.1.1.1.7.1

Polecenie to powoduje wykonanie zapytania do urządzenia o adresie 192.168.100.50, community string to „public”, wersja SNMP to 2c i OID, o który pytamy to .1.3.6.1.4.1.9.9.109.1.1.1.1.7.1. W zwrotce ujrzymy coś podobnego do

enterprises.9.9.109.1.1.1.1.7.1 = 2
 

Co oznacza, że obciążenie procesora w ostatniej minucie wyniosło 2%. To jest zatem to, o co nam chodziło. Przejdźmy więc do konsoli SCOM i stwórzmy nasz pierwszy monitor. Przechodzimy do panelu Authoring. Z lewego menu wybieramy prawym przyciskiem myszy Monitors i otwieramy kreator przechodząc do Create a Monitor a Unit Monitor.

System Center Operations Manager 2007 R2 - Network Monitoring - Part 2_files\image003.png

Rysunek 3. Otwarcie kreatora monitoru

W oknie kreatora wybieramy typ monitora SNMP i pojedynczy monitor SNMP. Monitor zapisujemy w nowo-utworzonym Management Packu do tego celu – Cisco MP, który tworzymy na szybko klikając przycisk New i wpisując odpowiednie dane.

System Center Operations Manager 2007 R2 - Network Monitoring - Part 2_files\image004.png

Rysunek 4. Wybór typu monitora

Następnie wpisujemy podstawowe dane takie jak nazwa monitora (pamiętajmy, że ta nazwa pojawi się jako nazwa alarmu w konsoli, więc dobrze jest, aby była dużo mówiąca o teście), opis, klasę oraz monitor, który będzie zmieniał się w zależności od naszego. Podając klasę (cel) należy wybrać SNMP Network Device. Domyślnie klasa ta nie jest widoczna, jako „pospolita”, chociaż jest to jedna z kilku klas dla urządzenia sieciowego. Przy wyborze należy zatem wybrać opcję View all argets.

System Center Operations Manager 2007 R2 - Network Monitoring - Part 2_files\image005.png

Rysunek 5. Wybór klasy dla monitora

Gdy wybraliśmy klasę, powinniśmy zobaczyć następujące okno.

System Center Operations Manager 2007 R2 - Network Monitoring - Part 2_files\image006.png

Rysunek 6. Ogólnie ustawienia monitora

Teraz przechodzimy do najważniejszej części naszego monitora – musimy zbudować zapytanie SNMP o nasz OID. Od tego jest kolejny krok kreatora. W oknie podajemy nasz OID i wskazujemy, czy community string jest taki sam jak podaliśmy w discovery, czy inny. Wypełniamy te dane i przechodzimy dalej. Pamiętamy cały czas, że OID zaczyna się od kropki poprzedzającej i dobrze, abyśmy jej nie zgubili nigdzie.

System Center Operations Manager 2007 R2 - Network Monitoring - Part 2_files\image007.png

Rysunek 7. Wybór OID w monitorze - zapytanie 1

Dla pierwszego zapytania SNMP (widzimy na rysunku z lewej strony, że mamy do dyspozycji dwa), teraz tworzymy obróbkę jego wartości. Musimy podać, że nasz parametr jeśli będzie większy od 10 wygeneruje alarm, jeśli mniejszy, zgasi go. Niestety nigdzie nie znajdziemy co musimy wpisać w polu Parameter Name i jedyne, co pozostaje, to przepisanie poniższej formuły:

/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value

Jeśli w poprzednim krok (Rysunek 7) podaliśmy więcej niż jeden OID, gdyż np. chcemy monitorować dwie wartości, musimy w Parameter Name podać zmienne o kolejnych numerach [1], [2] itd., jednak w odwrotnej kolejności do wpisania OID. Oznacza to, że ostatni wpisany OID w kroku First SnmpProbe i Second SnmpProbe staje się SnmpVarBind[1]. Trochę dziwne, ale trzeba z tym żyć. Pozostaje nam teraz dodanie warunku i wartości do naszego kreatora.

System Center Operations Manager 2007 R2 - Network Monitoring - Part 2_files\image008.png

Rysunek 8. Porównanie wartości

Te same kroki powtarzamy dla kolejnych dwóch kroków, czyli drugiej próbki, tylko zamiast operatora Greater than or equal to podajemy Less than. Używamy także tego samego OID. Następnie przypisujemy odpowiednie stany do naszych zapytań. Oczywiście w środowisku produkcyjnym to pierwsze zapytanie będzie powodowało alarm, ale dla celów testowych zrobimy tak, aby wartość procesora poniżej 10% była błędna.

System Center Operations Manager 2007 R2 - Network Monitoring - Part 2_files\image009.png

Rysunek 9. Przypisanie stanu zdrowia do kondycji monitora

 

Osttnim krokiem jest utworzenie alarmu z tego stanu. Aby to zrobić, należy w ostatnim kroku kreatora zaznaczyć opcję Generate alerts for this monitor. Po tym należy wypełnić okno opcjami według własnego uznania, tj. automatyczne gaszenie alarmu, priorytet i ważność alarmu czy jego treść. Przy treści warto zastanowić się, czy nie skorzystać z funkcjonalności automatycznego uzupełniania treści parametrami. Do tego celu służy przycisk […] tuż obok okna Severity. Gdy w nie klikniemy pojawi nam się panel do wpisania treści wraz z podpowiedziami, jakich możemy użyć.

System Center Operations Manager 2007 R2 - Network Monitoring - Part 2_files\image010.png

Rysunek 10. Treść alarmu monitora

Zatem wybierając pola IP Address i Device Name z menu Target uzupełniamy wartość głównego pola tak, aby powstała treść:

Urządzenie o nazwie $Target/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary6172210!Microsoft.SystemCenter.NetworkDevice"]/Name$ i adresie IP $Target/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary6172210!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$ posiada przeciążony procesor.

Wartość CPU % Utilization wynosi $Data/Context/SnmpVarBinds/SnmpVarBind[1]/Value$

Powyższą wartość uzyskaliśmy poprzez wybranie z menu Data wartości SnmpVarBinds, SnmpVarBind i Value, a następnie podstawienie w miejsce podpowiedzi <<INT>> wartości 1. Taki alarm zapisujemy i oczekujemy na wynik.

System Center Operations Manager 2007 R2 - Network Monitoring - Part 2_files\image011.png

Rysunek 11. Widok ustawień alarmu

Po kilku minutach na naszym ekranie pojawi się następujący alarm:

System Center Operations Manager 2007 R2 - Network Monitoring - Part 2_files\image012.png

Rysunek 12. Alarm w konsoli dotyczący przeciążenia procesora

Stan zdrowia naszego routera także jest na czerwono, a kontekst alarmu dobrze przedstawiony jest w drzewie zdrowia (Health Explorer) obiektu.

image013.png

Rysunek 13. Drzewo zdrowia obiektu routera

 

Podsmowanie

Takie monitorowanie jest dość toporne. Co jeśli chcielibyśmy monitorować setki interfejsów? To byłoby okropne. Musielibyśmy napisać 100 monitorów do każdego interfejsu osobno! Tak źle na szczęście nie jest, bo możemy wykryć klasę typu interfejs i dzięki niej zbudować jeden monitor. W następnym artykule pokażemy jednak najpierw jak zbudować reguły zbierające nam dane wydajnościowe na temat naszego urządzenia, takie jak wolna pamięć, utylizacja procesora czy temperatura.

Autor:

rem8

Łukasz Rutkowski

MCT, MCSA, MCP i kilka MCTS, w tym SCOM 2007. Konsultant techniczny w firmie ISCG, zajmuje się wdrażaniem systemów monitorowania i systemami Active Directory. Członek Polish Infrastructure Group.

Komentarze 0 Masz uwagi do tej strony? Napisz

Dodaj komentarz

avatar

Zaloguj się lub Zarejestruj się aby wykonać tę czynność.

Autor Łukasz Rutkowski
avatar Microsoft
 

Załóż konto
WSS to serwis, który łączy dziesiątki tysięcy specjalistów IT w Polsce, zajmujących się szeroko pojętymi technologiami Microsoft. Portal działa od 2003 roku, i oprócz setek publikacji technicznych, rozwijającego się forum - portal to ludzie, którzy go tworzą. To właśnie z myślą o nich warto codziennie nas odwiedzać.

Dowiedz się więcej o WSS

vGuru - Zostań Guru Wirtualizacji

 

MetroOne

Idź na górę strony