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 vorgestellten Szenarien behandeln alle 3 Ebenen von Service Fabric: 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.

Hinweis

Dieser Artikel wurde kürzlich aktualisiert, um den Begriff Azure Monitor-Protokolle anstelle von Log Analytics aufzunehmen. Protokolldaten werden immer noch in einem Log Analytics-Arbeitsbereich gespeichert und weiterhin mit dem gleichen Log Analytics-Dienst erfasst und analysiert. Die Terminologie hat sich geändert, um der Rolle von Protokollen in Azure Monitor besser Rechnung zu tragen. Weitere Informationen finden Sie unter Terminologieänderungen bei Azure Monitor.

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. Klicken Sie oben links auf Suchen. Klicken Sie dann im nächsten Fenster auf „Filter“.

    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, einschließlich des Dienstkontexts anzeigen, 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. Klicken Sie auf der linken Seite auf „App-Übersicht“.

    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. Klicken Sie unten auf dem Blatt auf das Diagramm mit dem Titel „Zusammenfassung“.

    Lösung mit Azure Monitor-Protokolle

  3. Hier finden Sie viele Diagramme und Kacheln, die verschiedene Metriken anzeigen. Wenn Sie auf eines der Diagramms klicken, 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. Klicken Sie oben auf „Neue Warnungsregel“. Ab jetzt erhalten Sie jedes Mal, wenn ein Ereignis basierend auf dieser Abfrage eingeht, eine Warnung 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. Klicken Sie oben auf „Neue Warnungsregel“. Ab jetzt erhalten Sie jedes Mal, wenn ein Ereignis basierend auf dieser Abfrage eingeht, eine Warnung.

Wie zeige ich Containermetriken an?

In der gleichen 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. Sobald Sie die Seite des Arbeitsbereichs aufgerufen haben, klicken Sie im gleichen linken Menü auf „Erweiterte Einstellungen“.

    Log Analytics: erweiterte Einstellungen

  3. Klicken Sie auf „Daten“ > „Windows-Leistungsindikatoren“ (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. Anhand dieser Indikatoren können Sie sehen, wie Ihre Infrastruktur die Arbeitslasten verarbeitet, und anhand der Ressourcenauslastung entsprechende Warnungen festlegen. Beispiel: Sie möchten eine Warnung festlegen, 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