Freigeben über


Überwachung in Azure Kubernetes Services

Tipp

Dieser Inhalt ist ein Auszug aus dem eBook, Architecting Cloud Native .NET Applications for Azure, verfügbar auf .NET Docs oder als kostenlose herunterladbare PDF, die offline gelesen werden kann.

Miniaturansicht des E-Books „Architecting Cloud Native .NET Applications for Azure“.

Die integrierte Protokollierung in Kubernetes ist primitiv. Es gibt jedoch einige großartige Möglichkeiten, die Protokolldaten aus Kubernetes zu extrahieren und sie an einen Ort zu bringen, an dem sie ordnungsgemäß analysiert werden können. Wenn Sie Ihre AKS-Cluster überwachen müssen, ist die Konfiguration von Elastic Stack für Kubernetes eine großartige Lösung.

Azure Monitor für Container

Azure Monitor for Containers unterstützt das Konsumieren von Logs nicht nur von Kubernetes, sondern auch von anderen Orchestrierungs-Engines wie DC/OS, Docker Swarm und Red Hat OpenShift.

Verarbeiten von Protokollen aus verschiedenen Containern Abbildung 7–10. Verarbeiten von Protokollen aus verschiedenen Containern

Prometheus ist eine beliebte Open Source-metrische Überwachungslösung. Sie ist Teil der Cloud Native Compute Foundation. In der Regel erfordert die Verwendung von Prometheus die Verwaltung eines Prometheus-Servers mit einem eigenen Speicher. Azure Monitor für Container bietet jedoch eine direkte Integration mit Prometheus-Metrikendpunkten, sodass kein separater Server erforderlich ist.

Protokoll- und Metrikinformationen werden nicht nur aus den containern gesammelt, die im Cluster ausgeführt werden, sondern auch von den Clusterhosts selbst. Es ermöglicht das Korrelieren von Protokollinformationen aus den beiden, wodurch es wesentlich einfacher ist, einen Fehler nachzuverfolgen.

Die Installation der Protokollsammler unterscheidet sich in Windows- und Linux-Clustern . In beiden Fällen wird die Protokollsammlung jedoch als Kubernetes DaemonSet implementiert, was bedeutet, dass der Protokollsammler als Container auf jedem der Knoten ausgeführt wird.

Unabhängig davon, welches Orchestrator- oder Betriebssystem den Azure Monitor-Daemon ausführt, werden die Protokollinformationen an die gleichen Azure Monitor-Tools weitergeleitet, mit denen Benutzer vertraut sind. Dieser Ansatz stellt eine parallele Umgebung in Umgebungen sicher, in denen verschiedene Protokollquellen wie eine Hybridumgebung Kubernetes/Azure Functions kombiniert werden.

Ein Beispieldashboard mit Protokollierungs- und Metrikinformationen aus einer Reihe ausgeführter Container. Abbildung 7-11. Ein Beispiel-Dashboard, das Protokollierungs- und Metrikeninformationen von vielen laufenden Containern zeigt.

Log.Finalize()

Die Protokollierung ist einer der am häufigsten übersehenen und dennoch wichtigsten Teile der Bereitstellung einer beliebigen Anwendung im großen Maßstab. Da die Größe und Komplexität von Anwendungen zunimmt, erhöht sich auch die Schwierigkeit, sie zu debuggen. Die Verfügbarkeit von Qualitativ hochwertigen Protokollen erleichtert das Debuggen und verschiebt es vom Bereich "fast unmöglich" auf "eine angenehme Erfahrung".