Best Practices für Überwachung und Diagnose für Azure Service Fabric
Die Überwachung und die Diagnose sind wichtig für die Entwicklung und Durchführung von Tests sowie für die Bereitstellung von Workloads in beliebigen Cloudumgebungen. So können Sie beispielsweise die Nutzung Ihrer Anwendungen, die Aktionen der Service Fabric-Plattform, die Ressourcenverwendung (mithilfe von Leistungsindikatoren) sowie die allgemeine Integrität Ihres Clusters nachverfolgen. Auf der Grundlage dieser Informationen können Sie Probleme diagnostizieren, beheben und in Zukunft vermeiden.
Anwendungsüberwachung
Bei der Anwendungsüberwachung wird nachverfolgt, wie die Funktionen und Komponenten Ihrer Anwendung genutzt werden. Überwachen Sie Ihre Anwendungen, um sicherzustellen, dass die für Benutzer relevanten Probleme erkannt werden. Für die Anwendungsüberwachung sind die Personen zuständig, die eine Anwendung und die zugehörigen Dienste entwickeln, da die Überwachung stark von der Geschäftslogik Ihrer Anwendung abhängig ist. Es wird empfohlen, dass Sie die Anwendungsüberwachung mit Application Insights einrichten. Dies ist das Tool, das in Azure für die Anwendungsüberwachung vorgesehen ist.
Clusterüberwachung
Ein Ziel von Service Fabric besteht darin, für Anwendungen die Resilienz in Bezug auf Hardwarefehler sicherzustellen. Dies ist möglich, weil die Systemdienste der Plattform in der Lage sind, Infrastrukturprobleme zu erkennen und für Workloads schnell ein Failover auf andere Knoten im Cluster durchzuführen. Aber was passiert, wenn für die Systemdienste selbst Probleme auftreten? Oder was geschieht, wenn beim Bereitstellen oder Verschieben einer Workload Regeln für die Platzierung von Diensten verletzt werden? Service Fabric ermöglicht eine Diagnose dieser und anderer Probleme, um sicherzustellen, dass Sie darüber informiert sind, wie die Service Fabric-Plattform mit Ihren Anwendungen, Diensten, Containern und Knoten interagiert.
Für Windows-Cluster wird empfohlen, die Clusterüberwachung mit dem Diagnose-Agent und mit Azure Monitor-Protokolle einzurichten.
Für Linux-Cluster ist Azure Monitor-Protokolle ebenfalls das empfohlene Tool für die Überwachung der Azure-Plattform und -Infrastruktur. Für die Diagnose von Linux-Plattformen ist eine andere Konfiguration erforderlich. Dies ist unter Service Fabric-Linux-Clusterereignisse in Syslog beschrieben.
Infrastrukturüberwachung
Azure Monitor-Protokolle wird empfohlen, um Ereignisse auf Clusterebene zu überwachen. Nachdem Sie den Log Analytics-Agent wie unter dem obigen Link beschrieben für Ihren Arbeitsbereich konfiguriert haben, können Sie Leistungsmetriken erfassen. Beispiele hierfür sind CPU-Auslastung, .NET-Leistungsindikatoren (z.B. CPU-Auslastung auf Prozessebene), Service Fabric-Leistungsindikatoren (z.B. Anzahl von Ausnahmen für einen zuverlässigen Dienst) und Containermetriken (z.B. CPU-Auslastung). Sie müssen Containerprotokolle in stdout oder stderr schreiben, damit sie in Azure Monitor-Protokolle verfügbar sind.
Watchdogs
Ein Watchdog ist im Allgemeinen ein separater Dienst, der die Integrität und Last dienstübergreifend überwacht, Pings an Endpunkte sendet und unerwartete Integritätsereignisse im Cluster meldet. So können Fehler verhindert werden, die anhand der Leistung eines einzelnen Diensts allein nicht erkannt werden können. Watchdogs sind auch ein guter Ort zum Hosten von Code, mit dem Maßnahmen zur Problembehandlung durchgeführt werden, ohne dass eine Benutzeraktion erforderlich ist (z. B. Bereinigen von Protokolldateien im Speicher nach bestimmten Zeitintervallen). Informieren Sie sich über das FabricObserver-Projekt, wenn Sie einen vollständig implementierten Open-Source-Dienst für den SF-Watchdog benötigen, der ein benutzerfreundliches Watchdogerweiterungsmodell umfasst und sowohl in Windows- als auch in Linux-Clustern ausgeführt wird. Bei FabricObserver handelt es sich um produktionsbereite Software. Wir empfehlen, FabricObserver in Ihren Test- und Produktionsclustern bereitzustellen und zu erweitern, um Ihre Anforderungen entweder mithilfe des Plug-In-Modells oder durch Forken der Software und Schreiben Ihres eigenen integrierten Beobachters zu erfüllen. Ersteres (Plug-Ins) stellt den empfohlenen Ansatz dar.
Nächste Schritte
- Einstieg in die Instrumentierung Ihrer Anwendungen: Ereignis- und Protokollgenerierung auf Anwendungsebene.
- Führen Sie die Schritte unter Überwachen und Diagnostizieren einer ASP.NET Core-Anwendung in Service Fabric aus, um Application Insights für Ihre Anwendung einzurichten.
- Weitere Informationen zum Überwachen der Plattform und der Ereignisse, die von Service Fabric für Sie bereitgestellt werden: Ereignis- und Protokollgenerierung auf Plattformebene.
- Konfigurieren der Integration von Azure Monitor-Protokolle in Service Fabric: Einrichten von Azure Monitor-Protokolle für den Cluster
- Erfahren Sie, wie Sie Azure Monitor-Protokolle für Überwachungscontainer einrichten: Überwachung und Diagnose für Windows-Container in Azure Service Fabric
- Beispiele für Diagnoseprobleme und die entsprechenden Lösungen mit Service Fabric finden Sie unter Diagnostizieren häufiger Szenarien mit Service Fabric
- Informieren Sie sich über die Empfehlungen zur allgemeinen Überwachung für Azure-Ressourcen: Bewährte Methoden: Überwachung und Diagnose.