Kubernetes-Überwachung und -Protokollierung

Azure Kubernetes Service (AKS)
Azure Log Analytics
Azure Monitor

In diesem Artikel wird Azure Kubernetes Service (AKS)-Überwachung im Vergleich zu Amazon Elastic Kubernetes Service (Amazon EKS) beschrieben. Der Artikel leitet Sie bei verschiedenen Optionen zur Überwachung und Verwaltung der Protokolle eines AKS-Clusters und seiner Workloads an.

Hinweis

Dieser Artikel ist Teil einer Artikelreihe, die Experten, die mit Amazon EKS vertraut sind, hilft, Azure Kubernetes Service (AKS) zu verstehen.

Amazon EKS-Überwachung und -Protokollierung

Wie jeder Kubernetes-Dienst verfügt EKS über zwei Hauptkomponenten, die Steuerungsebene und Workerknoten. Für jede Ebene gibt es bestimmte Funktionen.

Amazon EKS-Steuerungsebenen- und -Clusterüberwachung

Amazon EKS integriert sich in Amazon CloudWatch Logs, um Protokollierung und Überwachung für die Amazon EKS-Steuerungsebene bereitzustellen. Diese Integration ist nicht standardmäßig aktiviert, aber wenn sie konfiguriert ist, sammelt sie Protokolle:

  • API-Server- und API-Aufrufe.
  • Überwachungsprotokolle und Benutzerinteraktionen.
  • Authenticator-Protokolle.
  • Scheduler-- und Controllerprotokolle.

Amazon EKS macht Steuerungsebenenmetriken am /metrics-Endpunkt im Prometheus-Textformat verfügbar. CloudWatch Container Insights kann Prometheus-Metriken sammeln und speichern. Sie können Prometheus auf Basis Ihres EKS-Clusters bereitstellen und selbst verwalten oder Amazon Managed Service für Prometheus verwenden.

Amazon EKS integriert sich auch in Amazon Web Services (AWS) CloudTrail, um Aktionen und API-Aufrufe nachzuverfolgen. Weitere Informationen finden Sie unter Protokollierung von Amazon EKS-API-Aufrufen mit AWS CloudTrail.

Amazon EKS-Workloadüberwachung

CloudWatch Container Insights kann Metriken und Protokolle aus containerisierten Anwendungen sammeln und aggregieren, die in EKS bereitgestellt sind. Sie können Container Insights in Amazon EKS mit einer containerisierten Version des CloudWatch-Agents implementieren oder die AWS-Distribution für OpenTelemetry als DaemonSet verwenden. Sie können Protokolle mit FluentBit senden.

AKS-Überwachung und -Protokollierung

Wie andere Azure Ressourcen generiert AKS Plattformmetriken und Ressourcenprotokolle generiert, die Sie zum Überwachen seiner grundlegenden Integrität und Leistung verwenden können.

Diagramm der AKS-Protokollierung und -Überwachung.

Laden Sie eine Visio-Datei dieser Architektur herunter.

Azure Monitor

AKS integriert sich nativ in Azure Monitor. Azure Monitor speichert Metriken und Protokolle an einem zentralen Speicherort namens Log Analytics-Arbeitsbereich. Diese Daten werden verarbeitet und analysiert, um Erkenntnisse und Warnungen bereitzustellen. Weitere Informationen finden Sie unter Überwachen von Azure Kubernetes Service (AKS) mit Azure Monitor.

Container Insights ist das Feature von Azure Monitor, das die von Ihrem AKS-Cluster generierten Daten erfasst, indiziert und speichert. Sie können Container Insights konfigurieren, um verwaltete Kubernetes-Cluster zu überwachen, die auf AKS und anderen Clusterkonfigurationen gehostet werden. Container Insights kann die Integrität und Leistung von AKS mit auf Kubernetes-Umgebungen zugeschnittenen Visualisierungen überwachen. Ähnlich wie EKS stellt die Aktivierung von Container Insights für Ihren AKS-Cluster eine containerisierte Version des Log Analytics-Agents bereit, der für das Senden von Daten an Ihren Log Analytics-Arbeitsbereich verantwortlich ist.

Microsoft Sentinel

Microsoft Sentinel bietet intelligente Sicherheitsanalysen und Threat Intelligence im gesamten Unternehmen. Mit Microsoft Sentinel erhalten Sie eine einzige Lösung zur Angriffserkennung, für Einblicke in Bedrohungen, proaktives Hunting und für die Reaktion auf Bedrohungen.

Microsoft Sentinel muss mit Ihrem AKS verbunden sein. Mit diesem Connector können Sie AKS-Diagnoseprotokolle (Azure Kubernetes Service) in Azure Sentinel streamen, sodass Sie die Aktivitäten in allen Instanzen kontinuierlich überwachen können.

Sobald Sie Ihre Datenquellen mit Microsoft Sentinel verbunden haben, können Sie die Daten mithilfe von Microsoft Sentinel- und Azure Monitor-Arbeitsmappen visualisieren und überwachen , was die Erstellung benutzerdefinierter Dashboards ermöglicht.

AKS-Cluster- und -Workloadüberwachung

Eine AKS-Bereitstellung lässt sich in Komponenten auf Clusterebene, verwaltete AKS-Komponenten, Kubernetes-Objekte und -Workloads, Anwendungen und externe Ressourcen aufteilen. Die folgende Tabelle zeigt eine gängige Strategie für die Überwachung eines AKS-Clusters und von Workloadanwendungen. Jede Ebene besitzt individuelle Überwachungsanforderungen.

Ebene BESCHREIBUNG Überwachungsanforderungen
Komponenten auf Clusterebene Als AKS-Knoten und -Knotenpools abstrahierte VM-Skalierungsgruppen Knotenstatus und Ressourcenauslastung, einschließlich CPU, Arbeitsspeicher, Datenträger und Netzwerk
Verwaltete AKS-Komponenten Komponenten auf AKS-Steuerungsebene, einschließlich API-Servern, Cloudcontroller und kubelet Protokolle und Metriken auf Steuerungsebene aus dem Namespace kube-system
Kubernetes-Objekte und -Workloads Kubernetes-Objekte wie Bereitstellungen, Container und Replikatgruppen Ressourcenauslastung und -fehler
Anwendungen Im AKS-Cluster ausgeführte Anwendungsworkloads Architekturspezifische Überwachung, aber einschließlich Anwendungsprotokollen und Diensttransaktionen
Extern Externe Ressourcen, die nicht Teil von AKS sind, aber für die Clusterskalierbarkeit und -verwaltung erforderlich sind Spezifisch für jede Komponente
  • Komponenten auf Clusterebene: Sie können vorhandene Container Insights-Ansichten und -Berichte verwenden, um Komponenten auf Clusterebene zu überwachen und so deren Integrität, Bereitschaft, Leistung, CPU und Arbeitsspeicherressourcen-Auslastung sowie Trends zu verstehen.

  • Verwaltete AKS-Komponenten: Mithilfe des Metrik-Explorers können Sie den Zähler Inflight-Anforderungen anzeigen. Diese Ansicht umfasst Anforderungswartezeiten und Verarbeitungszeiten der Arbeitswarteschlange.

  • Kubernetes-Objekte und -Workloads: Sie können vorhandene Container Insights-Ansichten und -Berichte verwenden, um Bereitstellung, Controller, Pods und Container zu überwachen. Verwenden Sie die Ansichten Knoten und Controller, um die Integrität und Leistung der Pods anzuzeigen, die auf Knoten und Controllern ausgeführt werden, sowie deren Ressourcenverbrauch in Bezug auf CPU und Arbeitsspeicher.

In der Container Insights-Ansicht Container können Sie die Integrität und Leistung von Containern anzeigen oder einen einzelnen Container auswählen und seine Ereignisse und Protokolle in Echtzeit überwachen. Ausführliche Informationen zur Verwendung dieser Ansicht sowie zur Analyse der Containerintegrität und -leistung finden Sie unter Überwachen der Leistung Ihres Kubernetes-Clusters mit Container Insights.

  • Anwendungen: Sie können Application Insights verwenden, um Anwendungen zu überwachen, die in AKS und anderen Umgebungen ausgeführt werden. Application Insights ist ein Tool für die Anwendungsleistungsverwaltung, das Unterstützung für zahlreiche Programmiersprachen bereitstellt. Abhängig von Ihrem Bedarf können Sie Ihren Anwendungscode zum Erfassen von Anforderungen, Ablaufverfolgungen, Protokollen, Ausnahmen, benutzerdefinierten Metriken und End-to-End-Transaktionen instrumentieren und diese Daten an Application Insights senden. Wenn Sie eine Java-Anwendung haben, können Sie Überwachung bereitstellen, ohne Ihren Code zur instrumentieren. Weitere Informationen finden Sie unter Anwendungsüberwachung ohne Instrumentierung für Kubernetes.

  • Externe Komponenten: Sie können Azure Monitor-Features verwenden, um eine beliebige Azure Platform-as-a-Service (PaaS) zu überwachen, die Ihre Workloadanwendungen verwenden, z. B. Datenbanken und andere Azure-Ressourcen.

Verwalteter Azure Monitor-Dienst für Prometheus

Prometheus ist eine beliebte Open-Source-Lösung zur Überwachung von Metriken von der Cloud Native Compute Foundation und das am häufigsten verwendete Tool zum Erfassen und Analysieren von Metrikdaten aus Kubernetes-Clustern. Verwalteter Azure Monitor-Dienst für Prometheus ist eine vollständig verwaltete, mit Prometheus kompatible Überwachungslösung in Azure, die ihre Daten in einem Azure Monitor-Arbeitsbereich speichert, der mit einem Grafana-Arbeitsbereich verknüpft ist, sodass Sie die DAten mithilfe von Azure Managed Grafana analysieren können.

Prometheus kann auch unabhängig als selbstverwaltete Lösung in Azure Kubernetes Service-Clustern bereitgestellt werden. Sie können die selbst gehostete Prometheus-Lösung in Azure Monitor integrieren. Sie können Container Insights konfigurieren, um Prometheus-Metriken zu erfassen. Sie können den Prometheus-Endpunkt „metrics“ (Metriken) über Ihre Exporter oder Podanwendungen verfügbar machen, sodass der containerisierte Agent für Container Insights die Metriken auslesen kann.

Von Azure verwaltetes Grafana

Azure Managed Grafana ist eine Datenvisualisierungsplattform, die auf Grafana basiert. Sie wurde als vollständig verwalteter Azure-Dienst entwickelt, der von Microsoft betrieben und unterstützt wird. Mehrere vordefinierte Grafana-Dashboards stehen für die Überwachung von Kubernetes und die umfassende Problembehandlung zur Verfügung.

Azure Managed Grafana ist für die Azure-Umgebung optimiert, ist mit zahlreichen Azure-Diensten kompatibel und bietet einfache Integrationsfeatures. Alternativ können Sie Grafana auch unabhängig als selbstverwaltete Lösung bereitstellen. Weitere Informationen finden Sie unter Überwachen Ihrer Azure-Dienste in Grafana.

Kosten der AKS-Überwachung

Das Azure Monitor-Preismodell basiert hauptsächlich auf der Datenmenge, die pro Tag in Ihrem Log Analytics-Arbeitsbereich erfasst wird. Die Kosten variieren je nach dem von Ihnen ausgewählten Plan und den Aufbewahrungszeiträumen.

Bevor Sie Container Insights aktivieren, schätzen Sie Kosten, und verstehen Sie, wie Sie die Datenerfassung und deren Kosten kontrollieren. Ausführliche Anleitungen finden Sie unter Schätzen von Überwachungskosten für Ihren AKS-Cluster.

Beitragende

Dieser Artikel wird von Microsoft gepflegt. Er wurde ursprünglich von folgenden Mitwirkenden geschrieben:

Hauptautoren:

Andere Mitwirkende:

Melden Sie sich bei LinkedIn an, um nicht öffentliche LinkedIn-Profile anzuzeigen.

Nächste Schritte