Bearbeiten

Freigeben über


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, 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.

Diagram showing AKS logging and monitoring.

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 externe Komponenten wie Service Mesh mit ein- und ausgehendem Datenverkehr mit Prometheus und Grafana oder anderen Tools überwachen. Sie können Azure Monitor-Features verwenden, um eine beliebige Platform-as-a-Service (PaaS) zu überwachen, die Ihre Workloadanwendungen verwenden, z. B. Datenbanken und andere Azure-Ressourcen.

Drittanbieterlösungen für die Überwachung

Sie können Überwachungslösungen von Drittanbietern wie Grafana oder Prometheus in Ihren AKS-Knotenpools einrichten.

  • Für Grafana bietet Grafana Labs ein Dashboard mit Ansichten kritischer API-Servermetriken. Sie können dieses Dashboard auf Ihrem vorhandenen Grafana-Server verwenden oder einen neuen Grafana-Server in Azure einrichten. Weitere Informationen finden Sie unter Überwachen Ihrer Azure-Dienste in Grafana.

  • Prometheus ist eine beliebte Open-Source-Überwachungslösung für Metriken von der Cloud Native Compute Foundation. Sie können Prometheus in Azure Monitor integrieren, sodass Sie keinen Prometheus-Server mit einem Speicher einrichten und verwalten müssen.

    Container Insights bietet eine nahtlos eingebundene Onboardingerfahrung zum Sammeln von Prometheus-Metriken. Sie können den Prometheus-Endpunkt „metrics“ (Metriken) über Ihre Exporter oder Podanwendungen verfügbar machen, sodass dann kann der containerisierte Agent für Container Insights die Metriken auslesen kann. Container Insights ergänzt und vervollständigt die End-to-End-AKS-Überwachung – einschließlich Protokollsammlung, die Prometheus als eigenständiges Tool nicht bereitstellt. Weitere Informationen finden Sie unter Konfigurieren des Scrapings von Prometheus-Metriken mit Container Insights.

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