Praca ze zdarzeniami przy użyciu Diagnostyki aplikacji
Dotyczy: System Center 2012 R2 Operations Manager, System Center 2012 - Operations Manager, System Center 2012 SP1 - Operations Manager
Praca z alertami wchodzi w skład zwykłych czynności wykonywanych w programie System Center 2012 – Operations Manager. Alerty dotyczące monitorowania aplikacji .NET prezentują informacje znane z innych alertów, takie jak informacje ogólne czy informacje o produkcie. Alerty aplikacji .NET zawierają jednak także link w opisie alertu. To łącze powoduje otwarcie zdarzenia, które zgłosiło alert w diagnostyce aplikacji. W tym miejscu znajduje się dużo więcej informacji, które pomagają w identyfikowaniu problemów i znajdowaniu sposobów ich rozwiązania.
Uwaga
Dogłębne rozwiązywanie problemów na podstawie alertów programu Application Performance Monitoring często wymaga dostępu do kodu źródłowego aplikacji i może wymagać zaangażowania deweloperów. Istnieje możliwość instalacji pakietu administracyjnego synchronizacji elementów roboczych programu Team Foundation Server i przesyłania alertów dalej do programu Team Foundation Server używanego przez zespół deweloperów. Pakiet administracyjny synchronizacji elementów roboczych programu Team Foundation Server śledzi i synchronizuje zmiany wprowadzane w elementach roboczych programu Team Foundation Server oraz w skojarzonych alertach programu Operations Manager.
Badanie alertów aplikacji .NET
Podstawowym celem monitorowania aplikacji w programie Operations Manager jest skrócenie czasu ustalania, przypisywania i rozwiązywania problemów. W momencie odebrania alertu trzeba się dowiedzieć, co było jego przyczyną: system obsługujący daną aplikację czy też jej kod, trzeba móc okazać dane na potwierdzenie swojego wniosku oraz jasno rozumieć, kto powinien rozwiązać dany problem. Aby wiedzieć, czy chodzi o problem z systemem, trzeba znać stan systemu w momencie zajścia zdarzenia. Aby wiedzieć, gdzie wystąpił główny problem, trzeba znać cały łańcuch wywołań, które nastąpiły. Aby badać problem głębiej, trzeba porównać zdarzenia podobne i powiązane, które zdarzyły się w tym samym czasie. Razem szczegóły zdarzenia, liczniki wydajności i łańcuchy rozproszone pomagają w klasyfikacji problemu i ustaleniu, kto powinien zająć się nim pierwszy. Jeśli chodzi o błąd systemu, można skorygować dostępne zasoby lub konfigurację systemu-hosta i zająć się problemem na poziomie hosta. Gdy chodzi o błąd aplikacji, problem trzeba przekazać zespołowi aplikacji wraz z wierszem kodu, w którym wystąpił błąd. Poniżej przedstawiono pewne strategie korzystania z widoków, filtrów i ustawień diagnostyki aplikacji, które pomogą w dotarciu do głównej przyczyny problemu, znalezieniu rozwiązania i lepszym zorientowaniu się, kogo należy zaangażować w naprawianie problemu.
Aby otworzyć diagnostykę aplikacji z poziomu alertu
-
Ponieważ chodzi o alerty powiązane z konkretnymi, skonfigurowanymi wcześniej grupami aplikacji, warto najpierw ustalić zakres aktywnych alertów i wyświetlić je według grupy aplikacji. W konsoli programu Operations Manager kliknij w okienku nawigacyjnym przycisk Monitorowanie, rozwiń pozycję Monitorowanie aplikacji, rozwiń pozycję Monitorowanie .NET, kliknij folder z nazwą grupy aplikacji skonfigurowanej wcześniej do monitorowania, której alerty chcesz teraz zbadać, a następnie kliknij element Aktywne alerty.
-
Kliknij dwukrotnie alert, który chcesz otworzyć.
-
Na stronie Właściwości alertu kliknij łącze w okienku Opis alertu. Spowoduje to otwarcie diagnostyki aplikacji, nowej funkcji monitorującej programu Operations Manager, w przeglądarce sieci Web. W tym programie na karcie Właściwości zdarzenia są widoczne takie informacje o alercie, jak metryki wydajności, stos wywołań i uwagi dotyczące zbierania. Korzystając z kart, można wyświetlać zdarzenia podobne, zdarzenia powiązane, łańcuchy zdarzeń i liczniki wydajności. Są to szczegółowe informacje o zdarzeniu dotyczącym wydajności lub o zdarzeniu wyjątku, które zostało zgłoszone dla danej aplikacji; informacje te pomogą w zdiagnozowaniu, czy problem pochodzi od samej aplikacji, od wywołania usługi sieci Web czy od wywołania bazy danych. Więcej informacji o karcie Właściwości zdarzenia znajduje się w temacie Szczegóły zdarzeń dotyczących wydajności. Po załadowaniu informacji o zdarzeniu kliknij przycisk Tak, aby zamknąć główne okno programu.
Uwaga
Ten link do diagnostyki aplikacji znajduje się także na karcie Kontekst alertu.
W celu zbadania alertu skorzystaj z poniższych procedur. Specjaliści z działów informatycznych najprawdopodobniej wykorzystają informacje z kart Właściwości zdarzenia, Liczniki wydajności i Łańcuchy rozproszone do zorientowania się, co się stało, ustalenia, czy przyczyną problemu jest problem z systemem, oraz zbadania, gdzie wystąpiła główna przyczyna problemu. Deweloperzy najprawdopodobniej posłużą się informacjami z kart Łańcuchy rozproszone, Zdarzenia podobne i Zdarzenia powiązane do zrozumienia specyficznego kontekstu problemu z kodem.
Aby rozwiązać problemy za pomocą właściwości zdarzeń wyjątków w diagnostyce aplikacji
-
W oknie diagnostyki aplikacji badanego alertu wyjątku kliknij kartę Właściwości zdarzenia, aby wyświetlić najważniejsze szczegóły dotyczące alertu. To przede wszystkim w tym miejscu należy sprawdzać, czy problem z alertem jest widoczny. Do kluczowych kategorii informacji widocznych na stronie właściwości zdarzenia należą między innymi:
- **Źródło** Aby wyświetlić obciążenie i czasy odpowiedzi aplikacji, w lewym górnym rogu kliknij łącze **Źródło**. Te informacje pokazują obciążenie, pod jakim znajdował się system w kontekście błędu zdarzenia wyjątku. Aby wyświetlić liczniki wydajności i dokładniej ocenić stan systemu, na stronie Źródło kliknij kartę **Raporty o trendach**. Aby zobaczyć, na których komputerach działa dana aplikacja, i sprawdzić, czy nie występuje problem z równoważeniem obciążenia na komputerach, kliknij kartę **Komputery**. Aby zobaczyć podział wywołań powiązanych lub sprawdzić, gdzie występują zdarzenia, w oparciu o łańcuchy, kliknij kartę **Topologia**. - **Łańcuch wyjątku** Te informacje są wyświetlane dla zdarzeń wyjątków. Rozwiń element Łańcuch wyjątku, aby wyświetlić faktyczny wyjątek, który wystąpił. - **Dane wyjątku** Te informacje są wyświetlane dla zdarzeń wyjątków i obejmują parametry oraz zmienne ustawione dla danej klasy przez wyjątek. - **Stos** To jest stos wywołań, czyli kolejność, w jakiej wszystko się wydarzyło. Widok drzewa wykonania pozwala rozwinąć węzły w celu zbadania wywołań. Kliknij przycisk opcji **Widok grupy zasobów**, aby wyświetlić przegląd wykorzystania czasu. Odpowiada to na pytanie, w której warstwie problem się znajduje, czyli gdzie występuje. - **Lista modułów** Te informacje są wyświetlane dla zdarzeń wyjątków i pokazują moduły załadowane w czasie wystąpienia wyjątku. - **Uwagi o zbieraniu** Ten element wyświetla wszelkie uwagi o zdarzeniu.
Porada Na kartach Zdarzenia dotyczące wydajności, Zdarzenia podobne, Zdarzenia powiązane, Łańcuchy rozproszone i Liczniki wydajności wykonaj te same kroki rozwiązywania problemów, co na karcie Zdarzenia wyjątków.
Aby rozwiązać problemy za pomocą właściwości zdarzeń dotyczących wydajności w diagnostyce aplikacji
-
W oknie diagnostyki aplikacji badanego alertu wydajności kliknij kartę Właściwości zdarzenia, aby wyświetlić najważniejsze szczegóły dotyczące alertu. To przede wszystkim w tym miejscu należy sprawdzać, czy problem z alertem jest widoczny. Do kluczowych kategorii informacji widocznych na stronie właściwości wydajności należą między innymi:
- **Źródło** Aby wyświetlić obciążenie i czasy odpowiedzi aplikacji, w lewym górnym rogu kliknij łącze **Źródło**. Te informacje pokazują obciążenie, pod jakim znajdował się system w kontekście błędu zdarzenia wyjątku. Aby wyświetlić liczniki wydajności i dokładniej ocenić stan systemu, na stronie Źródło kliknij kartę **Raporty o trendach**. Aby zobaczyć, na których komputerach działa dana aplikacja, i sprawdzić, czy nie występuje problem z równoważeniem obciążenia na komputerach, kliknij kartę **Komputery**. Aby zobaczyć podział wywołań powiązanych lub sprawdzić, gdzie występują zdarzenia, w oparciu o łańcuchy, kliknij kartę **Topologia**. - **Najwolniejsze węzły** To jest lista najwolniejszych węzłów w widoku drzewa wykonania i najbardziej prawdopodobna przyczyna problemów z wydajnością w danej aplikacji. - **Stos** To jest stos wywołań, czyli kolejność, w jakiej wszystko się wydarzyło. Widok drzewa wykonania pozwala rozwinąć węzły w celu zbadania wywołań. Kliknij przycisk opcji **Widok grupy zasobów**, aby wyświetlić przegląd wykorzystania czasu. Odpowiada to na pytanie, w której warstwie problem się znajduje, czyli gdzie występuje. - **Uwagi o zbieraniu** Ten element wyświetla wszelkie uwagi o zdarzeniu.
Aby rozwiązać problemy ze stanem systemu za pomocą liczników wydajności
-
Aby wyświetlić tabelę lub diagram kluczowych liczników wydajności, kliknij kartę Liczniki wydajności.
Uwaga
Na monitorowanym systemie są zbierane i zapisywane w pamięci podręcznej dane dotyczące piętnastu minut wydajności. Po zgłoszeniu zdarzenia dotyczącego wydajności lub wyjątku wydajności dane dotyczące wydajności są odsyłane do programu Operations Manager wraz ze zdarzeniem.
-
Zaznacz pola wyboru obok tych liczników wydajności, które chcesz uwzględnić w informacjach, a następnie kliknij przycisk Zastosuj.
-
Na podstawie informacji z tego ekranu oszacuj stan wydajności systemu w sąsiedztwie badanego zdarzenia. Jeśli na przykład w czasie zdarzenia wydajność jednolicie zwalnia, to przyczyną danego alertu jest prawdopodobnie problem z wydajnością systemu.
Aby odnaleźć główny problem za pomocą łańcuchów rozproszonych
-
Kliknij kartę Łańcuchy rozproszone, aby wyświetlić kolejność wywołań — łańcuch zdarzeń, do którego należy dane zdarzenie. Pomaga to zrozumieć, jaki wpływ na badane zdarzenie miały inne zdarzenia z danej aplikacji lub aplikacji powiązanych.
-
W widoku łańcuchów rozproszonych kliknij jedno z wywołań, czyli ogniw łańcucha. Jeśli tego samego obiektu dotyczy wiele zdarzeń, zostanie otwarty kreator łańcucha. Ten kreator pozwala wybrać prawdopodobne zdarzenia do skorelowania w pewien łańcuch zdarzeń. Aby rozpocząć działanie kreatora, kliknij przycisk Dalej.
Uwaga
Zanotuj sygnaturę czasową wybranego wywołania, ponieważ konieczne będzie sparowanie jej ze zdarzeniem na następnej stronie.
-
Na stronie Wybierz prawdopodobne zdarzenie łańcucha wybierz zdarzenie, które chcesz zbadać. W idealnym przypadku będzie to zdarzenie o sygnaturze czasowej maksymalnie zbliżonej do sygnatury wywołania wybranego w widoku łańcuchów rozproszonych.
-
To, co zobaczysz w następnej kolejności, zależy od rodzaju badanego problemu. Jeśli na przykład wybierzesz transakcję, dla której nie został znaleziony serwer, można przejść na stronę właściwości tego właśnie zdarzenia. Pozwoli to sparować błąd serwera z początkowo badanym zdarzeniem. Ponieważ chodzi o błąd serwera, wiadomo, że problem nie występuje po stronie klienta, tylko po stronie serwera. Być może zobaczysz wykres wybranego przez siebie zdarzenia i będziesz w stanie dokonać podziału zdarzenia związanego z wydajnością pod kątem czasu ładowania strony.
-
W oknie właściwości zdarzenia kliknij wywołanie po stronie serwera, a następnie kliknij kartę Liczniki wydajności, aby wyświetlić więcej szczegółów.
Aby rozwiązać problemy przez wyświetlanie zdarzeń podobnych
-
Kliknij kartę Zdarzenia podobne, aby sprawdzić, czy podobne alerty nie były zgłaszane więcej razy, co mogłoby oznaczać, że występuje problem z aplikacją.
-
Zdarzenia podobne można odfiltrować na kilka sposobów. Kliknij menu rozwijane Podobne, aby wybrać, jak chcesz grupować zdarzenia podobne: według problemu, działania, klasy wyjątku czy niepowodzenia funkcji. W polach tekstowych Od i Do można ustawić przedział dat, z którego mają pochodzić wyświetlone zdarzenia podobne. Kliknij kartę Zdarzenia podobne, aby sprawdzić, czy podobne alerty nie były zgłaszane więcej razy, co mogłoby oznaczać, że występuje problem z aplikacją.
- **Filtrowanie według problemu** pokazuje zdarzenia podobne tego samego typu. Można na przykład wyświetlić wszystkie zdarzenia podobne, w których odwołanie do obiektu nie jest ustawione na wystąpienie obiektu. Kliknij przycisk **Widok diagramu**, aby sprawdzić stosunek całkowitej liczby zdarzeń bieżącego problemu do całkowitej liczby zdarzeń z innych problemów. Ta informacja daje szybkie pojęcie o skali wielkości problemu związanego z konkretnym zdarzeniem. Jeśli wiele z bieżącej całkowitej liczby zdarzeń podobnych ma ten sam problem, może się okazać, że rozwiązanie tego problemu ma wyższy priorytet, bo będzie mieć duży wpływ na zmniejszenie liczby otrzymywanych alertów. - **Filtrowanie według działania** grupuje zdarzenia podobne według określonego aspektu: błędu aplikacji, zabezpieczeń, wydajności i łączności. Kliknij przycisk **Widok diagramu**, aby sprawdzić liczbę zdarzeń podobnych w kategoriach tych aspektów i łatwiej ocenić, z którymi z nich dany problem może być powiązany. - **Filtrowanie według klasy wyjątku** grupuje zdarzenia podobne zgodnie z tym, jak zostały nazwane podczas konfiguracji. W założeniu powinny to być nazwy pomagające w zidentyfikowaniu rodzaju wyjątku, takie jak nazwa klasy **System.NullReferenceException**. - Metoda **Filtrowanie wg funkcji zakończonej niepowodzeniem** grupuje podobne zdarzenia według tej samej funkcji wywołującej wyjątek. Może to oznaczać, że istnieje problem z punktem wejścia.
Należy pamiętać, że są to podobne zdarzenia (pod względem definicji), a te filtry ułatwiają orientację w tym, jak są ze sobą powiązane. Za pomocą filtrów Podobne zdarzenia można zatem ustalić, że w przypadku większości zdarzeń występuje ten sam problem co w aktualnie wyświetlanym zdarzeniu, tj. problem z wydajnością, że należą one do konfigurowanej klasy wyjątków oraz że połowa podobnych zdarzeń ma taką samą funkcję zakończoną niepowodzeniem. Działanie: Funkcja jest przekazywana deweloperowi, który musi zaktualizować jej kod.
Aby rozwiązać problemy przez wyświetlanie zdarzeń powiązanych
-
Kliknij kartę Zdarzenia powiązane, aby wyświetlić powiązane zdarzenia według czasu. Istnieją wyjątki powiązane z innymi zdarzeniami, których analiza może ułatwić rozwiązanie problemu.
-
Aby wyświetlić szczegóły zdarzenia z listy, kliknij łącze w kolumnie Opis.
W przypadku powiązanych zdarzeń można zauważyć, że w pewnym okresie czas odpowiedzi dla wszystkich zdarzeń jest bardzo długi. Może to wskazywać problem z systemem, nie z kodem, dlatego zalecane jest skonsultowanie się ze specjalistą działu IT.