Wstęp
Dzięki dwóm pierwszym częściom serii dotyczącej monitorowania urządzeń sieciowych przez protokół SNMP w System Center Operations Manager 2007 R2, jesteśmy już w stanie zaimportować urządzenie sieciowe do naszego systemu i zmonitorować jego podstawowe parametry, jeśli tylko znamy OID przetrzymujący wartość pobieraną przez polecenie SNMP GET. Jednak nie samym monitorowaniem OpsMgr żyje. Drugą bardzo ważną funkcjonalnością jest utworzenie reguł, które będą zbierały wydajność naszych urządzeń. Kolekcjonować możemy nie tylko wartości parametrów takich podzespołów jak procesor czy pamięć, ale np. temperaturę, napięcie, prędkość wiatraków czy stan baterii w urządzeniach UPS. Jako przykład będziemy wykorzystywać Cisco 3725.
Znajdujemy punkty zapalne
No dobrze – naszym celem jest zebranie kilku ważnych metryk z urządzeń sieciowych, jednak na razie nie mówimy o wykorzystaniu interfejsów, gdyż to będziemy dopiero trenować w dalszych częściach artykułu. Na samym urządzeniu jest kilka ważnych liczników, którym warto się przyjrzeć, a są one dostępne w zależności od modelu urządzenia. Pod uwagę warto brać:
- Wykorzystanie procesora
- Zużycie pamięci
- Temperatura czujników
- Moc na zasilaczu urządzenia
Na Cisco 3725: będziemy szukać tych wskaźników. W poprzednim artykule sprawdzaliśmy miejsca, gdzie znaleźć informacje, na głównej stronie Cisco, teraz jednak skorzystamy z darmowego do użytku prywatnego narzędzia firmy iReasoning MIB Browser. Program pobieramy ze strony http://ireasoning.com/downloadmibbrowserfree.php i instalujemy na dowolnej stacji. Po otwarciu programu wpisujemy nasze urządzenie oraz konfigurujemy opcje poprzez przycisk Advanced.

Rysunek 1. Okno programu MIB Browser
W oknie opcji zaawansowanych wybieramy odpowiednie opcje:
- Port: 161 (lub inny, zdefiniowany dla SNMP Get)
- Read Community: public (lub inny, zdefiniowany dla SNMP Get)
- SNMP Version: 2 (lub 1, w zależności od używanego protokołu)

Rysunek 2. Zaawansowane właściwości SNMP
Po zaakceptowaniu opcji musimy teraz wybrać jeden ze sposobów odpytania urządzenia po SNMP. W prawej części okna domyślnie mamy podświetlone Get Next. Po wciśnięciu na tę rozwijaną listę otrzymamy zestaw następujących opcji:
- Get Next – pobranie wartości następnej dostępnej niż OID wskazany w środkowym polu
- Get – pobranie wartości dostępnej pod wskazanym OID
- Get Bulk – pobranie 10 wartości jednorazowo od wskazanego OID w dół drzewa
- Get Subtree – pobranie wszystkich wartości danej gałęzi drzewa (widocznej w lewym panelu)
- Walk – zrzut całego drzewa SNMP
- Set – ustawienie wartości SNMP (jeśli dany OID na to pozwala)
Naszym celem jest znalezienie wartości pewnych liczników wydajnościowych, których nie znamy lokalizacji. Do tego posłuży nam dodatkowy MIB, który trzeba wgrać do dowolnego katalogu na dysku. Nazywa się on CISCO-ENVMON-MIB i jest on dostępny ze strony ftp://ftp.cisco.com/pub/mibs/supportlists/cat3750/cat3750-supportlist.html. Pobieramy plik z rozszerzeniem my. W programie MIB Browser klikamy prawym przyciskiem na root drzewa SNMP i wybieramy Load Mibs, a następnie wyszukujemy nasz pobrany plik. Po załadowaniu nasze drzewo SNMP rozszerzy się o kolejną gałąź i będzie posiadać następujący opisany zestaw OID-ów: .1.3.6.1.4.1.9.9.13.1.

Rysunek 3. Wycinek drzewa MIB dotyczący danych wydajnościowych Cisco
Widzimy, że będziemy mogli pobrać informacje z takich czujników jak napięcie na zasilaczu, temperaturę czy status wiatraków. Po każdym kliknięciu w element drzewa pod nim w polu Description pojawi się opis tego czujnika. Dla nas najważniejsze są czujniki, które są typu Gauge32 – dają one nam typ double wartości np. temperaturę. Widzimy, że głównymi elementami są wartości typu tablica (ciscoEnvMonTemperatureStatusTable). Posiada ona OID .1.3.6.1.4.1.9.9.13.1.3. Każdy kolejny numerek po tym OID zaczynając od 1 będzie oznaczał kolejną czujkę temperatury, a więc wartości OID z tablicy czujników temperatury połączone z wartością danej czujki będą miały końcówki 1.3, 2.3, 3.3, itd. Ponieważ zakładamy, że mamy jedną czujkę, taki OID pobieramy do naszych badań: .1.3.6.1.4.1.9.9.13.1.3.1.3, gdzie ostatnia trójka to wartość czujnika, a przedostatnia jedynka to numer czujki – reszta OID to wyżej wspomniana tabela czujek. Skoro mamy już numer OID, przechodzimy do najważniejszego zadania – utworzenia reguły wydajnościowej. Pamiętajmy też, że w zależności od urządzenia, te OIDy będą inne – musicie sami znaleźć ten, który Wam odpowiada.
Tworzymy regułę SNMP
Mając już otwartą konsolę Operations Manager przechodzimy do panelu Authoring i wybieramy z lewego menu Rules. Z menu kontekstowego wybieramy Create a new rule.

Rysunek 4. Tworzenie nowej reguły
W oknie kreatora reguły wybieramy Collection Rules, Performance Based i SNMP Performance.

Rysunek 5. Wybór typu reguły
W kolejnym oknie wybieramy nazwę i opis reguły. Jako typ reguły wybieramy Performance Collection. Jako cel wybieramy SNMP Network Device (pamiętamy o zaznaczeniu View All Targets w liście wyszukiwania klas) oraz wybieramy docelowy Management Pack. Klikamy Next.

Rysunek 6. Okno głównych opcji reguły SNMP
Trzecie okno jest najważniejsze i najprostsze. Wystarczy podać nasz OID. To wszystko! Nic więcej nie musimy robić!

Rysunek 7. Opis pobranego OID przez regułę SNMP
Prawda, że banalnie proste? Teraz tylko wystarczy utworzyć widok dotyczący zbierania tych informacji i mamy możliwość oglądania wszystkich informacji na jednej konsoli – stanu urządzeń, alarmów dotyczących tych urządzeń i danych wydajnościowych.

Rysunek 8. Wgląd w dane wydajnościowe czujnika temperatury Cisco
Podsumowanie
Reguły wydajnościowe w Operations Manager tworzy się niezwykle łatwo. Wystarczy wiedzieć, co chcemy badać, wystarczy podać dany OID i reguła sama zaczyna działać. Zapisuje też się automatycznie do Data Warehouse, co pozwala w przyszłości tworzyć raporty. W kolejnych artykułach postaram się przybliżyć, czym jest SNMP Trap, zbudujemy dodatkowe narzędzia pozwalające diagnozować urządzenia sieciowe, a następnie zaczniemy bawić się w porządne wykrywanie urządzeń sieciowych w zależności od typu, posiadanych elementów i czujników.