Udostępnij za pośrednictwem


Diagnozowanie typowych scenariuszy za pomocą usługi Service Fabric

W tym artykule przedstawiono typowe scenariusze napotykane przez użytkowników w obszarze monitorowania i diagnostyki za pomocą usługi Service Fabric. Przedstawione scenariusze obejmują wszystkie 3 warstwy usługi Service Fabric: aplikacja, klaster i infrastruktura. Każde rozwiązanie używa dzienników usługi Application Insights i usługi Azure Monitor, narzędzi do monitorowania platformy Azure, aby ukończyć każdy scenariusz. Kroki w każdym rozwiązaniu dają użytkownikom wprowadzenie do korzystania z dzienników usługi Application Insights i usługi Azure Monitor w kontekście usługi Service Fabric.

Uwaga

Ten artykuł został niedawno zaktualizowany, aby użyć terminu Dzienniki usługi Azure Monitor zamiast usługi Log Analytics. Dane dziennika są nadal przechowywane w obszarze roboczym usługi Log Analytics i są nadal zbierane i analizowane przez tę samą usługę Log Analytics. Aktualizujemy terminologię, aby lepiej odzwierciedlać rolę dzienników w usłudze Azure Monitor. Aby uzyskać szczegółowe informacje, zobacz Zmiany terminologii usługi Azure Monitor.

Wymagania wstępne i zalecenia

Rozwiązania w tym artykule będą używać następujących narzędzi. Zalecamy skonfigurowanie i skonfigurowanie następujących ustawień:

Jak mogę zobaczyć nieobsługiwane wyjątki w mojej aplikacji?

  1. Przejdź do zasobu usługi Application Insights, za pomocą którego skonfigurowano aplikację.

  2. Kliknij pozycję Wyszukaj w lewym górnym rogu. Następnie kliknij pozycję filtru na następnym panelu.

    Omówienie sztucznej inteligencji

  3. Zobaczysz wiele typów zdarzeń (ślady, żądania, zdarzenia niestandardowe). Wybierz pozycję "Wyjątek" jako filtr.

    Lista filtrów sztucznej inteligencji

    Klikając wyjątek na liście, możesz zapoznać się z bardziej szczegółowymi informacjami, w tym kontekstem usługi, jeśli używasz zestawu SDK usługi Application Insights usługi Service Fabric.

    Wyjątek sztucznej inteligencji

Jak mogę wyświetlić, które wywołania HTTP są używane w moich usługach?

  1. W tym samym zasobie usługi Application Insights można filtrować według "żądań" zamiast wyjątków i wyświetlać wszystkie wykonane żądania

  2. Jeśli używasz zestawu SDK usługi Service Fabric Application Insights, możesz zobaczyć wizualną reprezentację usług połączonych ze sobą oraz liczbę żądań zakończonych powodzeniem i niepowodzeniem. Po lewej stronie kliknij pozycję "Mapa aplikacji"

    Blok mapy aplikacji sztucznej inteligencjiMapa aplikacji sztucznej inteligencji

    Aby uzyskać więcej informacji na mapie aplikacji, odwiedź dokumentację mapy aplikacji

Jak mogę utworzyć alert, gdy węzeł ulegnie awarii

  1. Zdarzenia węzła są śledzone przez klaster usługi Service Fabric. Przejdź do zasobu rozwiązania Service Fabric Analytics o nazwie ServiceFabric(NameofResourceGroup)

  2. Kliknij wykres w dolnej części bloku zatytułowanego "Podsumowanie"

    Rozwiązanie dzienników usługi Azure Monitor

  3. W tym miejscu masz wiele grafów i kafelków wyświetlających różne metryki. Kliknij jeden z wykresów i nastąpi przejście do przeszukiwania dzienników. W tym miejscu można wykonywać zapytania dotyczące dowolnych zdarzeń klastra lub liczników wydajności.

  4. Wprowadź następujące zapytanie. Te identyfikatory zdarzeń znajdują się w dokumentacji zdarzeń węzła

    ServiceFabricOperationalEvent
    | where EventID >= 25622 and EventID <= 25626
    
  5. Kliknij pozycję "Nowa reguła alertu" u góry, a teraz po nadejściu zdarzenia na podstawie tego zapytania otrzymasz alert w wybranej metodzie komunikacji.

    Nowy alert dzienników usługi Azure Monitor

Jak można otrzymywać alerty dotyczące wycofywania uaktualnienia aplikacji?

  1. W tym samym oknie przeszukiwania dzienników co przed wprowadzeniem następującego zapytania dotyczącego wycofywania uaktualnień. Te identyfikatory zdarzeń znajdują się w obszarze Dokumentacja zdarzeń aplikacji

    ServiceFabricOperationalEvent
    | where EventID == 29623 or EventID == 29624
    
  2. Kliknij pozycję "Nowa reguła alertu" u góry, a teraz po nadejściu zdarzenia na podstawie tego zapytania otrzymasz alert.

Jak mogę zobaczyć metryki kontenera?

W tym samym widoku ze wszystkimi wykresami zobaczysz niektóre kafelki wydajności kontenerów. Aby wypełnić te kafelki, potrzebny jest agent usługi Log Analytics i rozwiązanie do monitorowania kontenerów.

Metryki kontenera usługi Log Analytics

Uwaga

Aby instrumentować dane telemetryczne z wewnątrz kontenera, należy dodać pakiet nuget usługi Application Insights dla kontenerów.

Jak monitorować liczniki wydajności?

  1. Po dodaniu agenta usługi Log Analytics do klastra należy dodać określone liczniki wydajności, które chcesz śledzić. Przejdź do strony obszaru roboczego usługi Log Analytics w portalu — na stronie rozwiązania karta obszaru roboczego znajduje się w menu po lewej stronie.

    Karta Obszar roboczy usługi Log Analytics

  2. Po przejściu na stronę obszaru roboczego kliknij pozycję "Ustawienia zaawansowane" w tym samym menu po lewej stronie.

    Ustawienia zaawansowane usługi Log Analytics

  3. Kliknij pozycję Data > Windows Performance Counters (Dane > Liczniki wydajności systemu Linux dla maszyn z systemem Linux), aby rozpocząć zbieranie określonych liczników z węzłów za pośrednictwem agenta usługi Log Analytics. Oto przykłady formatu liczników do dodania

    • .NET CLR Memory(<ProcessNameHere>)\\# Total committed Bytes

    • Processor(_Total)\\% Processor Time

      W przewodniku Szybki start używane są nazwy procesów VotingData i VotingWeb, więc śledzenie tych liczników wyglądałoby następująco:

    • .NET CLR Memory(VotingData)\\# Total committed Bytes

    • .NET CLR Memory(VotingWeb)\\# Total committed Bytes

      Liczniki wydajności usługi Log Analytics

  4. Pozwoli to zobaczyć, jak infrastruktura obsługuje obciążenia, i ustawić odpowiednie alerty na podstawie wykorzystania zasobów. Na przykład — możesz ustawić alert, jeśli całkowite użycie procesora przekroczy 90% lub poniżej 5%. Nazwa licznika używana w tym celu to "% czasu procesora". Można to zrobić, tworząc regułę alertu dla następującego zapytania:

    Perf | where CounterName == "% Processor Time" and InstanceName == "_Total" | where CounterValue >= 90 or CounterValue <= 5.
    

Jak mogę śledzić wydajność moich usług Reliable Services i Aktorów?

Aby śledzić wydajność usług Reliable Services lub Actors w aplikacjach, należy również zbierać liczniki aktora usługi Service Fabric, metody aktora, usługi i metody usługi. Oto przykłady niezawodnych liczników wydajności usług i aktorów do zbierania

Uwaga

Obecnie nie można zbierać liczników wydajności usługi Service Fabric przez agenta usługi Log Analytics, ale mogą być zbierane przez inne rozwiązania diagnostyczne

  • Service Fabric Service(*)\\Average milliseconds per request
  • Service Fabric Service Method(*)\\Invocations/Sec
  • Service Fabric Actor(*)\\Average milliseconds per request
  • Service Fabric Actor Method(*)\\Invocations/Sec

Sprawdź te linki, aby uzyskać pełną listę liczników wydajności w usługach Reliable Services i Actors

Następne kroki