Freigeben über


Kubernetes-Überwachung und -Protokollierung

In diesem Artikel werden die Überwachung von Azure Kubernetes Service (AKS) und die Überwachung von Amazon Elastic Kubernetes Service (EKS) verglichen. Es beschreibt Optionen, mit denen Sie die Protokolle eines AKS-Clusters und seiner Workloads überwachen und verwalten können.

Hinweis

Dieser Artikel ist Teil einer Reihe von Artikeln , die Fachleuten helfen, die mit Amazon EKS vertraut sind, Azure Kubernetes Service (AKS) zu verstehen.

Amazon EKS-Überwachung und -Protokollierung

Wie andere Kubernetes-Dienste verfügt Amazon EKS über zwei Hauptkomponenten, die Steuerebene und Arbeitsknoten. Jede Ebene verfügt über spezifische Funktionen.

Amazon EKS-Steuerungsebene 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 standardmäßig nicht aktiviert. Sie müssen die Integration so konfigurieren, dass Protokolle für die folgenden Komponenten gesammelt werden:

  • API-Server- und API-Aufrufe
  • Überwachungsprotokolle und Benutzerinteraktionen
  • Authentifizierungsprozesse
  • Scheduler- und Controlleraktivitäten

Amazon EKS macht Steuerungsebenenmetriken am /metrics-Endpunkt im Prometheus-Textformat verfügbar. CloudWatch Container Insights sammelt und speichert Prometheus-Metriken. Sie können Prometheus über Ihrem EKS-Cluster 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 Amazon EKS API-Aufrufe mit AWS CloudTrail protokollieren.

Amazon EKS-Workloadüberwachung

CloudWatch Container Insights sammelt und aggregiert Metriken und Protokolle aus containerisierten Anwendungen, die in EKS bereitgestellt werden. Um Container Insights auf Amazon EKS zu implementieren, verwenden Sie eine containerisierte Version des CloudWatch-Agents, oder verwenden Sie AWS Distro für OpenTelemetry als DaemonSet. Sie können Fluent Bit verwenden, um Protokolle zu senden.

AKS-Überwachung und -Protokollierung

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

Diagramm, das eine AKS-Protokollierungs- und Überwachungslösung zeigt.

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. Azure Monitor verarbeitet und analysiert die Metriken und Protokolle, um Einblicke und Warnungen bereitzustellen. Weitere Informationen finden Sie unter Überwachen von AKS mithilfe von Azure Monitor.

Container Insights ist eine Funktion von Azure Monitor, die Daten sammelt, indiziert und speichert, die Ihr AKS-Cluster generiert. Sie können Containereinblicke konfigurieren, um verwaltete Kubernetes-Cluster zu überwachen, die auf AKS gehostet werden. Sie können auch andere Clusterkonfigurationen überwachen. Container Insights überwacht den AKS-Gesundheitszustand und die Leistung und präsentiert diese Daten durch Visualisierungen, die speziell für Kubernetes-Umgebungen optimiert sind. Ähnlich wie EKS stellt sie, wenn Sie Containereinblicke für Ihren AKS-Cluster aktivieren, eine containerisierte Version des Log Analytics-Agents bereit. Der Agent sendet Daten an Ihren Log Analytics-Arbeitsbereich.

Container Insights verwenden Daten aus einem Log Analytics-Arbeitsbereich, um die Visualisierungen im Azure-Portal anzutreiben. Erwägen Sie den Wechsel zum verwalteten Azure Monitor-Dienst für Prometheus, der einen günstigeren und effizienteren Ansatz für die Metriksammlung bietet. Sie können Containereinblicke verwenden, um Metriken mithilfe von verwalteten Prometheus-Daten zu visualisieren. Weitere Informationen finden Sie unter Wechseln zu verwalteten Prometheus-Visualisierungen für Containereinblicke.

Verwenden Sie die folgenden Dienste und Azure Monitor-Features, um eine umfassende Überwachung Ihrer Kubernetes-Cluster sicherzustellen:

Microsoft Sentinel

Microsoft Sentinel bietet intelligente Sicherheitsanalysen und Bedrohungsintelligenz für Unternehmen. Microsoft Sentinel ist eine einzelne Lösung für die Angriffserkennung, Einblicke in Bedrohungen, proaktives Hunting und die Reaktion auf Bedrohungen.

Sie müssen Microsoft Sentinel mit AKS mithilfe des AKS-Connectors verbinden. Anschließend können Sie Ihre AKS-Diagnoseprotokolle in Microsoft Sentinel streamen, um die Aktivitäten in Ihren Instanzen kontinuierlich zu überwachen.

Nachdem Sie Ihre Datenquellen mit Microsoft Sentinel verbunden haben, können Sie die Daten visualisieren und überwachen. Microsoft Sentinel- und Azure Monitor-Arbeitsmappen bieten Vielseitigkeit zum Erstellen benutzerdefinierter Dashboards.

AKS-Cluster- und -Workloadüberwachung

Eine AKS-Bereitstellung besteht aus Komponenten auf Clusterebene, verwalteten AKS-Komponenten, Kubernetes-Objekten und -Workloads, Anwendungen und externen Ressourcen. Eine gemeinsame Strategie zum Überwachen eines AKS-Clusters und einer Workload-Anwendung besteht aus den folgenden Überwachungsanforderungen.

Niveau BESCHREIBUNG Überwachungsanforderungen
Komponenten auf Clusterebene Skalierungssätze für virtuelle Computer stellen AKS-Knoten und Knotenpools dar. Knotenstatus und Ressourcenauslastung, einschließlich CPU, Arbeitsspeicher, Datenträger und Netzwerk
Verwaltete AKS-Komponenten AKS-Steuerungsebenenkomponenten, einschließlich API-Server, Cloudcontroller und kubelet Protokolle und Metriken auf Steuerungsebene aus dem Namespace kube-system
Kubernetes-Objekte und -Workloads Kubernetes-Objekte wie Bereitstellungen, Container und Replikatgruppen Ressourcennutzung und -fehler
Anträge Anwendungsworkloads, die auf dem AKS-Cluster ausgeführt werden Architekturspezifische Überwachung, einschließlich Anwendungsprotokolle 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 Ansichten und Berichte für Containereinblicke verwenden, um Komponenten auf Clusterebene zu überwachen, um deren Integrität, Bereitschaft, Leistung, CPU- und Arbeitsspeicherressourcenauslastung und Trends zu verstehen.

  • Verwaltete AKS-Komponenten: Sie können den Metrik-Explorer von Azure Monitor verwenden, um den Leistungsindikator für Inflight-Anforderungen anzuzeigen. Diese Ansicht umfasst Anforderungswartezeiten und Verarbeitungszeiten der Arbeitswarteschlange.

  • Kubernetes-Objekte und Workloads: Sie können vorhandene Ansichten und Berichte für Containereinblicke verwenden, um die Bereitstellung, Controller, Pods und Container zu überwachen. Verwenden Sie die Ansichten Knoten und Controller, um den Zustand und die Leistung der Pods zu überwachen, die auf den Knoten und Controllern ausgeführt werden. Sie können deren Ressourcenverbrauch auch im Hinblick auf CPU und Arbeitsspeicher anzeigen.

    Die Containereinblick-Containeransicht zeigt den Status und die Leistung von Containern an. Sie können auch einen einzelnen Container auswählen und dessen Ereignisse und Protokolle in Echtzeit überwachen. Weitere Informationen finden Sie unter Überwachen der Kubernetes-Clusterleistung mithilfe von Containereinblicken.

  • Anwendungen: Sie können Application Insights verwenden, um Anwendungen zu überwachen, die auf AKS und anderen Umgebungen ausgeführt werden. Application Insights ist ein Tool zur Anwendungsleistungsverwaltung, das Unterstützung für viele Programmiersprachen bietet. Je nach Ihren Anforderungen können Sie Ihren Anwendungscode so instrumentieren, dass Anforderungen, Ablaufverfolgungen, Protokolle, Ausnahmen, benutzerdefinierte Metriken und End-to-End-Transaktionen erfasst werden. Anschließend können Sie 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 Autoinstrumentation für AKS.

  • Externe Komponenten: Sie können Azure Monitor-Features verwenden, um Azure-Plattform as a Service (PaaS)-Lösungen 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-Metriküberwachungslösung von Cloud Native Computing Foundation. Prometheus sammelt und analysiert Metrikdaten aus Kubernetes-Clustern. Der verwaltete Azure Monitor-Dienst für Prometheus ist eine vollständig verwaltete Prometheus-kompatible Überwachungslösung in Azure. Es speichert Daten in einem Azure Monitor-Arbeitsbereich , der mit einem Azure Managed Grafana-Arbeitsbereich verknüpft ist. Sie können Azure Managed Grafana verwenden, um die Daten zu analysieren.

Sie können Prometheus unabhängig als selbstverwaltete Lösung in AKS-Clustern bereitstellen. Um selbst gehostete Prometheus in Azure Monitor zu integrieren, konfigurieren Sie Containereinblicke, um Prometheus-Metriken zu sammeln. Sie können den Prometheus-Metrik-Endpunkt über Ihre Exporter oder Pod-Anwendungen verfügbar machen. Der containerisierte Agent für Containererkenntnisse sammelt diese Metriken.

Von Azure verwaltetes Grafana

Azure Managed Grafana ist eine Datenvisualisierungsplattform, die auf Grafana basiert. Es handelt sich um einen vollständig verwalteten Azure-Dienst, den Microsoft betreibt und unterstützt. Azure Managed Grafana verfügt über vordefinierte Grafana-Dashboards, um Kubernetes und die vollständige Stack-Fehlerbehebung zu überwachen.

Azure Managed Grafana ist für die Azure-Umgebung optimiert, arbeitet mit vielen Azure-Diensten und bietet einfache Integrationsfeatures. Sie können 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 in erster Linie auf der Datenmenge, die Ihr Log Analytics-Arbeitsbereich täglich einnimmt. Die Kosten variieren je nach dem von Ihnen ausgewählten Plan- und Aufbewahrungszeitraum.

Bevor Sie Containereinblicke aktivieren, schätzen Sie die Kosten und verstehen Sie, wie die Datenaufnahme und deren Kosten gesteuert werden können. Weitere Informationen finden Sie unter "Kosten schätzen", um Ihren AKS-Cluster zu überwachen.

Beitragende

Microsoft verwaltet diesen Artikel. Die folgenden Mitwirkenden haben diesen Artikel geschrieben.

Hauptautoren:

Andere Mitwirkende:

Um nichtöffentliche LinkedIn-Profile anzuzeigen, melden Sie sich bei LinkedIn an.

Nächste Schritte