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