Diagnostizieren häufiger Szenarien mit Service Fabric

Dieser Artikel veranschaulicht allgemeine Szenarien, die bei Benutzern im Bereich der Überwachung und Diagnose mit Service Fabric aufgetreten sind. Die beschriebenen Szenarien beziehen sich auf alle drei Service Fabric-Ebenen: Anwendung, Cluster und Infrastruktur. Bei jeder Lösung kommen Application Insights und Azure Monitor-Protokolle sowie Azure-Überwachungstools zum Einsatz, um die einzelnen Szenarien abzuschließen. Die Schritte in den einzelnen Lösungen geben Benutzern eine Einführung in die Verwendung von Application Insights und Azure Monitor-Protokolle im Zusammenhang mit Service Fabric.

Voraussetzungen und Empfehlungen

Für die Lösungen in diesem Artikel werden die folgenden Tools verwendet. Es wird empfohlen, diese Tools vorher einzurichten und zu konfigurieren:

Wie kann ich nicht behandelte Ausnahmen in meiner Anwendung anzeigen?

  1. Navigieren Sie zu Ihrer Application Insights-Ressource, mit der die Anwendung konfiguriert ist.

  2. Wählen Sie oben links die Option Suchen aus. Wählen Sie dann im nächsten Bereich die Option „Filter“ aus.

    AI-Übersicht

  3. Viele Arten von Ereignissen (Ablaufverfolgungen, Anforderungen, benutzerdefinierte Ereignisse) werden angezeigt. Wählen Sie „Ausnahme“ als Filter aus.

    AI-Filterliste

    Durch Klicken auf eine Ausnahme in der Liste können Sie weitere Einzelheiten anzeigen, einschließlich des Dienstkontexts, wenn Sie das Service Fabric Application Insights-SDK verwenden.

    AI-Ausnahme

Wie kann ich sehen, welche HTTP-Aufrufe in meinen Diensten verwendet werden?

  1. In der gleichen Application Insights-Ressource können Sie anstatt nach „Ausnahme“ nach „Anforderungen“ filtern und alle vorgenommenen Anforderungen anzeigen.

  2. Wenn Sie das Service Fabric Application Insights-SDK verwenden, können Sie eine visuelle Darstellung der miteinander verbundenen Dienste sowie die Anzahl der erfolgreichen und fehlgeschlagenen Anforderungen anzeigen. Wählen Sie auf der linken Seite die Option „Anwendungsübersicht“ aus.

    AI-Blatt: App-ÜbersichtAI: App-Übersicht

    Weitere Informationen zur Anwendungsübersicht finden Sie in der Dokumentation zur Anwendungsübersicht.

Wie erstelle ich eine Warnung, wenn ein Knoten ausfällt?

  1. Knotenereignisse werden von Ihrem Service Fabric-Cluster nachverfolgt. Navigieren Sie zur Service Fabric Analytics-Lösungsressource mit dem Namen ServiceFabric(Name_der_Ressourcengruppe) .

  2. Wählen Sie unten auf dem Blatt „Zusammenfassung“ das Diagramm aus.

    Lösung mit Azure Monitor-Protokolle

  3. Hier finden Sie viele Diagramme und Kacheln, die verschiedene Metriken anzeigen. Wählen Sie eines der Diagramme aus. Dadurch gelangen Sie zur Protokollsuche. Hier können Sie alle Clusterereignisse oder Leistungsindikatoren abfragen.

  4. Geben Sie die folgende Abfrage ein. Diese Ereignis-IDs finden Sie in der Referenz zu Knotenereignissen.

    ServiceFabricOperationalEvent
    | where EventID >= 25622 and EventID <= 25626
    
  5. Wählen Sie oben die Option „Neue Benachrichtigungsregel“ aus. Ab jetzt erhalten Sie jedes Mal, wenn ein Ereignis basierend auf dieser Abfrage eingeht, eine Benachrichtigung mit der von Ihnen ausgewählten Kommunikationsmethode.

    Azure Monitor-Protokolle – neue Warnung

Wie kann ich Warnungen zu Rollbacks von Anwendungsupgrades erhalten?

  1. Geben Sie im gleichen Fenster der Protokollsuche, das Sie zuvor verwendet haben, die folgende Abfrage nach Upgraderollbacks ein. Diese Ereignis-IDs finden Sie in der Referenz zu Anwendungsereignissen.

    ServiceFabricOperationalEvent
    | where EventID == 29623 or EventID == 29624
    
  2. Wählen Sie oben die Option „Neue Benachrichtigungsregel“ aus. Ab jetzt erhalten Sie jedes Mal, wenn ein Ereignis basierend auf dieser Abfrage eingeht, eine Benachrichtigung.

Wie zeige ich Containermetriken an?

In derselben Ansicht mit allen Diagrammen sehen Sie einige Kacheln für die Leistung Ihrer Container. Sie benötigen den Log Analytics-Agent und die Containerüberwachungslösung, damit diese Kacheln aufgefüllt werden.

Log Analytics-Containermetriken

Hinweis

Um Telemetriedaten von innerhalb Ihres Containers zu instrumentieren, müssen Sie das Application Insights NuGet-Paket für Container hinzufügen.

Wie kann ich Leistungsindikatoren überwachen?

  1. Nachdem Sie den Log Analytics-Agent dem Cluster hinzugefügt haben, müssen Sie die spezifischen Leistungsindikatoren hinzufügen, die Sie nachverfolgen möchten. Navigieren Sie im Portal zur Seite des Log Analytics-Arbeitsbereichs – von der Lösungsseite aus gesehen befindet sich die Registerkarte für den Arbeitsbereich im linken Menü.

    Registerkarte „Log Analytics-Arbeitsbereich“

  2. Nachdem Sie die Seite des Arbeitsbereichs aufgerufen haben, wählen Sie im gleichen linken Menü die Option „Erweiterte Einstellungen“ aus.

    Log Analytics: erweiterte Einstellungen

  3. Wählen Sie „Daten“ > „Windows-Leistungsindikatoren“ aus (bzw. „Daten“ > „Linux-Leistungsindikatoren“ bei Linux-Computern), um damit zu beginnen, über den Log Analytics-Agent bestimmte Leistungsindikatoren von Ihren Knoten zu sammeln. Es folgen Beispiele für das Format, in dem Leistungsindikatoren hinzugefügt werden müssen

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

    • Processor(_Total)\\% Processor Time

      In der Schnellstartanleitung werden VotingData und VotingWeb als Prozessnamen verwendet. Die Nachverfolgung dieser Leistungsindikatoren würde wie folgt aussehen:

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

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

      Log Analytics: Leistungsindikatoren

  4. So können Sie sehen, wie Ihre Infrastruktur die Arbeitslasten verarbeitet, und anhand der Ressourcenauslastung entsprechende Benachrichtigungen festlegen. Beispiel: Sie möchten eine Benachrichtigung erhalten, wenn die Prozessorgesamtauslastung über 90 % steigt oder unter 5 % fällt. Der Name des Leistungsindikators, den Sie dafür verwenden, lautet „% Prozessorzeit“. Dazu können Sie eine Warnungsregel für die folgende Abfrage erstellen:

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

Wie kann ich die Leistung meiner Reliable Services und Reliable Actors nachverfolgen?

Um die Leistung von Reliable Services oder Reliable Actors in Ihren Anwendungen nachzuverfolgen, sollten Sie auch die Leistungsindikatoren für Service Fabric Actor, Actor-Methode, Dienst und Dienstmethode erfassen. Beispiele für zu erfassende Leistungsindikatoren für Reliable Services und Reliable Actors

Hinweis

Service Fabric-Leistungsindikatoren können derzeit nicht vom Log Analytics-Agent gesammelt werden, aber von anderen Diagnoselösungen.

  • 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

Nutzen Sie diese Links, um die vollständige Liste der Leistungsindikatoren für Reliable Services und Reliable Actors abzurufen.

Nächste Schritte