Überwachen von Azure Kubernetes Service (AKS)

Wenn Sie über unternehmenskritische Anwendungen und Geschäftsprozesse verfügen, die auf Azure-Ressourcen beruhen, sollten Sie Verfügbarkeit, Leistung und Betrieb dieser Ressourcen überwachen. In diesem Artikel werden die von AKS generierten und mit Azure Monitor analysierten Überwachungsdaten beschrieben. Wenn Sie nicht mit den Features von Azure Monitor vertraut sind, die Bestandteil aller Azure-Dienste sind, für die Azure Monitor verwendet wird, lesen Sie den Artikel Überwachen von Azure-Ressourcen mit Azure Monitor.

Wichtig

Kubernetes ist ein komplexes verteiltes System mit vielen beweglichen Teilen, sodass eine Überwachung auf mehreren Ebenen erforderlich ist. AKS ist zwar ein verwalteter Kubernetes-Dienst, erfordert aber dennoch eine ebenso strenge Überwachung auf mehreren Ebenen. Dieser Artikel enthält allgemeine Informationen und bewährte Methoden für die Überwachung eines AKS-Clusters. Weitere Details finden Sie im Anschluss.

Überwachungsdaten

AKS generiert dieselben Arten von Überwachungsdaten wie andere Azure-Ressourcen, die unter Überwachen von Daten aus Azure-Ressourcen beschrieben sind. Ausführliche Informationen zu den von AKS erstellten Metriken und Protokollen finden Sie in der Referenz zur Überwachung von AKS-Daten. Weitere Azure-Dienste und -Features sammeln zusätzliche Daten und ermöglichen weitere Analyseoptionen, wie in der folgenden Abbildung und Tabelle dargestellt.

Diagram of collection of monitoring data from AKS.

Quelle Beschreibung
Plattformmetriken Plattformmetriken werden für AKS-Cluster automatisch kostenlos erfasst. Sie können diese Metriken mit dem Metrik-Explorer analysieren oder sie für Metrikwarnungen verwenden.
Prometheus-Metriken Wenn Sie für Ihren Cluster Metrik-Scraping aktivieren, werden Prometheus-Metriken vom verwalteten Azure Monitor-Dienst für Prometheus gesammelt und in einem Azure Monitor-Arbeitsbereich gespeichert. Analysieren Sie diese mit vorgefertigten Dashboards in Azure Managed Grafana und mit Prometheus-Warnungen.
Aktivitätsprotokolle Das Aktivitätsprotokoll wird für AKS-Cluster automatisch kostenlos erfasst. Diese Protokolle verfolgen Informationen nach, z. B. wenn ein Cluster erstellt wird oder eine Konfigurationsänderung vorgenommen wird. Senden Sie das Aktivitätsprotokoll an einen Log Analytics-Arbeitsbereich, um es zusammen mit anderen Protokolldaten zu analysieren.
Ressourcenprotokolle Protokolle der Steuerungsebene für AKS sind als Ressourcenprotokolle implementiert. Erstellen Sie eine Diagnoseeinstellung, um sie an den Log Analytics-Arbeitsbereich zu senden, in dem Sie sie anhand von Protokollabfragen in Log Analytics analysieren und Benachrichtigungen dazu senden können.
Container Insights Container Insights sammelt verschiedene Protokolle und Leistungsdaten aus einem Cluster, einschließlich stdout/stderr-Datenströmen, und speichert sie in einem Log Analytics-Arbeitsbereich sowie Azure Monitor-Metriken. Analysieren Sie diese Daten mit Ansichten und Arbeitsmappen, die in Container Insights enthalten sind, oder mit Log Analytics und Metrik-Explorer.

Übersichtsseite zur Überwachung im Azure-Portal

Die Registerkarte Überwachung auf der Seite Übersicht bietet eine schnelle Möglichkeit, in die Anzeige von Überwachungsdaten für jeden AKS-Cluster im Azure-Portal einzusteigen. Dies schließt Diagramme mit allgemeinen Metriken für den Cluster ein, der durch einen Knotenpool getrennt ist. Klicken Sie auf eins dieser Diagramme, um die Daten im Metrik-Explorer weiter zu analysieren.

Die Seite Übersicht enthält auch Links zu Managed Prometheus und Container Insights für den aktuellen Cluster. Wenn Sie diese Tools noch nicht aktiviert haben, werden Sie zur Aktivierung aufgefordert. Möglicherweise wird oben auf dem Bildschirm auch ein Banner angezeigt, in dem Ihnen empfohlen wird, weitere Features zu aktivieren, um die Überwachung Ihres Clusters zu verbessern.

Screenshot of AKS overview page.

Tipp

Auf Überwachungsfunktionen für alle AKS-Cluster in Ihrem Abonnement können Sie über das Menü Überwachung im Azure-Portal zugreifen. Für einen einzelnen AKS-Cluster können Sie den Abschnitt Überwachung des Menüs für Kubernetes-Dienste verwenden.

Integrationen

Die folgenden Azure-Dienste und -Features von Azure Monitor können für die zusätzliche Überwachung Ihrer Kubernetes-Cluster verwendet werden. Sie können diese Features während der Erstellung von AKS-Clustern über die Registerkarte „Integrationen“ im Azure-Portal, die Azure CLI, Terraform, Azure Policy aktivieren oder später in Ihren Cluster integrieren. Jedes dieser Features kann Kosten verursachen. Lesen Sie daher die Preisinformationen für die einzelnen Features, bevor Sie sie aktivieren.

Dienst/Funktion Beschreibung
Container Insights Verwendet eine containerisierte Version des Azure Monitor-Agents zum Sammeln von stdout-/stderr-Protokollen und Kubernetes-Ereignissen von jedem Knoten in Ihrem Cluster und unterstützt eine Vielzahl von Überwachungsszenarien für AKS-Cluster. Die Überwachung für einen AKS-Cluster kann bei der Erstellung des Clusters mithilfe der Azure CLI, mit Azure Policy, dem Azure-Portal oder Terraform aktiviert werden. Wenn Sie Container Insights beim Erstellen Ihres Clusters nicht aktivieren, finden Sie unter Aktivieren von Container Insights für Azure Kubernetes Service-Cluster (AKS) weitere Optionen zum Aktivieren des Clusters.

„Containererkenntnisse“ speichert die meisten Daten in einem Log Analytics-Arbeitsbereich, und Sie verwenden in der Regel denselben Log Analytics-Arbeitsbereich wie die Ressourcenprotokolle für Ihren Cluster. Unter Entwerfen einer Log Analytics-Arbeitsbereichsarchitektur finden Sie Anleitungen dazu, wie viele Arbeitsbereiche Sie verwenden und wo Sie sie speichern sollten.
Verwalteter Azure Monitor-Dienst für Prometheus Prometheus ist eine cloudnative Metriklösung der Cloud Native Compute Foundation und stellt das am häufigsten verwendete Tool zum Sammeln und Analysieren von Metrikdaten aus Kubernetes-Clustern dar. Der verwaltete Azure Monitor-Dienst für Prometheus ist eine vollständig verwaltete Prometheus-kompatible Überwachungslösung in Azure. Wenn Sie verwaltetes Prometheus nicht beim Erstellen Ihres Clusters aktivieren, finden Sie Informationen zu weiteren Optionen zum Aktivieren unter Sammeln von Prometheus-Metriken aus einem AKS-Cluster.

Der verwaltete Azure Monitor-Dienst für Prometheus speichert seine Daten in einem Azure Monitor-Arbeitsbereich, der mit einem Grafana-Arbeitsbereich verknüpft ist, sodass Sie die Daten mit Azure Managed Grafana analysieren können.
Von Azure verwaltetes Grafana Vollständig verwaltete Implementierung von Grafana, einer Open-Source-Plattform zur Datenvisualisierung, die häufig zum Präsentieren von Prometheus-Daten verwendet wird. Mehrere vordefinierte Grafana-Dashboards stehen für die Überwachung von Kubernetes und die umfassende Problembehandlung zur Verfügung. Wenn Sie verwaltetes Grafana nicht beim Erstellen Ihres Clusters aktivieren, lesen Sie die Details unter Verknüpfen eines Grafana-Arbeitsbereichs zum Verknüpfen mit Ihrem Azure Monitor-Arbeitsbereich, damit er auf Prometheus-Metriken für Ihren Cluster zugreifen kann.

metrics

Metriken spielen eine wichtige Rolle bei der Clusterüberwachung, der Identifizierung von Problemen und der Optimierung der Leistung in den AKS-Clustern. Plattformmetriken werden mithilfe des vorgefertigten Metrikservers erfasst, der im Namespace „kube-system“ installiert ist und Metriken regelmäßig von allen Kubernetes-Knoten ausliest, die von Kubelet bereitgestellt werden. Außerdem sollten Sie Azure Managed Prometheus-Metriken aktivieren, um Containermetriken und Kubernetes-Objektmetriken zu sammeln, z. B. den Objektstatus von Bereitstellungen. Informationen zum Senden von Daten an den verwalteten Azure-Dienst für Prometheus finden Sie unter Sammeln von Prometheus-Metriken aus einem AKS-Cluster.

Screenshot of enabling Managed Prometheus for existing cluster.

Protokolle

AKS-Steuerungsebene/-Ressourcenprotokolle

Protokolle der Steuerungsebene für AKS-Cluster sind in Azure Monitor als Ressourcenprotokolle implementiert. Ressourcenprotokolle werden erst erfasst und gespeichert, nachdem Sie eine Diagnoseeinstellung erstellt haben, um die Protokolle an mindestens einen Speicherort weiterzuleiten. Sie senden sie in der Regel an einen Log Analytics-Arbeitsbereich, in dem die meisten Daten für Container Insights gespeichert werden.

Ausführliche Informationen zum Erstellen einer Diagnoseeinstellung über das Azure-Portal, die Befehlszeilenschnittstelle oder PowerShell finden Sie unter Erstellen von Diagnoseeinstellungen. Wenn Sie eine Diagnoseeinstellung erstellen, legen Sie fest, welche Kategorien von Protokollen gesammelt werden sollen. Die Kategorien für AKS sind in der AKS-Überwachungsdatenreferenz aufgeführt.

Wichtig

Beim Sammeln von Ressourcenprotokollen für AKS können erhebliche Kosten anfallen, insbesondere für Kube-Audit-Protokolle. Berücksichtigen Sie die folgenden Empfehlungen, um die Menge der gesammelten Daten zu reduzieren:

  • Deaktivieren Sie die kube-audit-Protokollierung, wenn sie nicht erforderlich ist.
  • Aktivieren Sie die Sammlung von kube-audit-admin – dabei werden die Überwachungsereignisse „get“ und „list“ ausgeschlossen.
  • Aktivieren Sie ressourcenspezifische Protokolle, wie unten beschrieben, und konfigurieren Sie die AKSAudit-Tabelle als Basisprotokoll.

Unter Überwachen von Kubernetes-Clustern mithilfe von Azure-Diensten und cloudnativen Tools finden Sie weitere Empfehlungen, und unter Kostenoptimierung und Azure Monitor finden Sie weitere Strategien zur Senkung der Überwachungskosten.

Screenshot of AKS diagnostic setting dialog box.

AKS unterstützt entweder den Azure-Diagnosemodus oder den ressourcenspezifischen Modus für Ressourcenprotokolle. Damit werden die Tabellen in dem Log Analytics-Arbeitsbereich angegeben, an den die Daten gesendet werden. Der Azure Diagnosemodus sendet alle Daten an die Tabelle AzureDiagnostics, während der ressourcenspezifische Modus Daten an AKS Audit, AKS Audit Admin und AKS Control Plane sendet, wie in der Tabelle unter Ressourcenprotokolle dargestellt.

Der ressourcenspezifische Modus wird aus folgenden Gründen für AKS empfohlen:

  • Daten lassen sich einfacher abfragen, da sie sich in einzelnen Tabellen befinden, die speziell für AKS gelten.
  • Die Konfiguration als Basisprotokoll wird unterstützt, um erhebliche Kosteneinsparungen zu erzielen.

Weitere Informationen zum Unterschied zwischen den Sammlungsmodi, einschließlich Informationen zum Ändern einer vorhandenen Einstellung, finden Sie unter Auswählen des Sammlungsmodus.

Hinweis

Die Möglichkeit zum Auswählen des Sammlungsmodus ist im Azure-Portal noch nicht in allen Regionen verfügbar. Verwenden Sie für die Regionen, in denen der Modus noch nicht verfügbar ist, die CLI, um die Diagnoseeinstellung mit einem Befehl wie dem folgenden zu erstellen:

az monitor diagnostic-settings create --name AKS-Diagnostics --resource /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myresourcegroup/providers/Microsoft.ContainerService/managedClusters/my-cluster --logs '[{""category"": ""kube-audit"",""enabled"": true}, {""category"": ""kube-audit-admin"", ""enabled"": true}, {""category"": ""kube-apiserver"", ""enabled"": true}, {""category"": ""kube-controller-manager"", ""enabled"": true}, {""category"": ""kube-scheduler"", ""enabled"": true}, {""category"": ""cluster-autoscaler"", ""enabled"": true}, {""category"": ""cloud-controller-manager"", ""enabled"": true}, {""category"": ""guard"", ""enabled"": true}, {""category"": ""csi-azuredisk-controller"", ""enabled"": true}, {""category"": ""csi-azurefile-controller"", ""enabled"": true}, {""category"": ""csi-snapshot-controller"", ""enabled"": true}]'  --workspace /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/myresourcegroup/providers/microsoft.operationalinsights/workspaces/myworkspace --export-to-resource-specific true

Beispielprotokollabfragen

Wichtig

Wenn Sie im Menü für einen AKS-Cluster Protokolle auswählen, wird Log Analytics geöffnet, wobei der Abfragebereich auf den aktuellen Cluster festgelegt ist. Dies bedeutet, dass Protokollabfragen nur Daten aus dieser Ressource umfassen. Wenn Sie eine Abfrage ausführen möchten, die Daten aus anderen Clustern oder Daten aus anderen Azure-Diensten enthält, wählen Sie im Menü Azure Monitor die Option Protokolle aus. Ausführliche Informationen finden Sie unter Protokollabfragebereich und Zeitbereich in Azure Monitor Log Analytics.

Wenn die Diagnoseeinstellung für Ihren Cluster den Azure-Diagnosemodus verwendet, werden die Ressourcenprotokolle für AKS in der Tabelle AzureDiagnostics gespeichert. Mit der Spalte Kategorie können Sie verschiedene Protokolle unterscheiden. Eine Beschreibung der einzelnen Kategorien finden Sie in den AKS-Referenzressourcenprotokollen.

Beschreibung Protokollabfrage
Zählen von den Protokollen für jede Kategorie
(Azure-Diagnosemodus)
AzureDiagnostics
| where ResourceType == "MANAGEDCLUSTERS"
| summarize count() by Category
Alle API-Serverprotokolle
(Azure-Diagnosemodus)
AzureDiagnostics
| where Category == "kube-apiserver"
Alle kube-audit-Protokolle in einem Zeitbereich
(Azure-Diagnosemodus)
let starttime = datetime("2023-02-23");
let endtime = datetime("2023-02-24");
AzureDiagnostics
| where TimeGenerated between(starttime..endtime)
| where Category == "kube-audit"
| extend event = parse_json(log_s)
| extend HttpMethod = tostring(event.verb)
| extend User = tostring(event.user.username)
| extend Apiserver = pod_s
| extend SourceIP = tostring(event.sourceIPs[0])
| project TimeGenerated, Category, HttpMethod, User, Apiserver, SourceIP, OperationName, event
Alle Überwachungsprotokolle
(ressourcenspezifischer Modus)
AKSAudit
Alle Überwachungsprotokolle mit Ausnahme der Überwachungsereignisse für „get“ und „list“
(ressourcenspezifischer Modus)
AKSAuditAdmin
Alle API-Serverprotokolle
(ressourcenspezifischer Modus)
AKSControlPlane
| where Category == "kube-apiserver"

Informationen zum Zugreifen auf eine Reihe vordefinierter Abfragen im Log Analytics-Arbeitsbereich finden Sie in der Log Analytics-Abfrageoberfläche. Wählen Sie dort den Ressourcentyp Kubernetes Services aus. Eine Liste der häufig verwendeten Abfragen für Container Insights finden Sie unter Container Insights-Abfragen.

Protokolle der AKS-Datenebene/Protokolle für Containererkenntnisse

„Containererkenntnisse“ sammelt verschiedene Arten von Telemetriedaten aus Containern und Kubernetes-Clustern, die Ihnen helfen, Ihre containerisierten Anwendungen, die in Ihren AKS-Clustern ausgeführt werden, zu überwachen, eine Problembehandlung für sie auszuführen und Erkenntnisse zu ihnen zu gewinnen. Eine Liste der Tabellen und deren ausführliche Beschreibungen, die von Container Insights verwendet werden, finden Sie in der Azure Monitor Tabellenreferenz. Alle diese Tabellen sind für Protokollabfragen verfügbar.

Die Kostenoptimierungseinstellungen ermöglichen es Ihnen, die über den Agent für Containererkenntnisse gesammelten Metrikdaten anzupassen und zu steuern. Dieses Feature unterstützt die Datensammlungseinstellungen für die Auswahl einzelner Tabellen, Datensammlungsintervalle und Namespaces, um die Datensammlung über Azure Monitor-Datensammlungsregeln (Data Collection Rules, DCR) auszuschließen. Diese Einstellungen steuern das Erfassungsvolumen und reduzieren die Überwachungskosten für Container Insights. In Container Insights gesammelte Daten können über das Azure-Portal mithilfe der folgenden Optionen angepasst werden. Die Auswahl anderer Optionen als Alle (Standard) führt dazu, dass die Container Insights-Benutzeroberfläche nicht mehr verfügbar ist.

Gruppierung Tabellen Hinweise
Alle (Standard) Alle Container Insights-Standardtabellen Zum Aktivieren der Container Insights-Standardvisualisierungen erforderlich
Leistung Perf, InsightsMetrics
Protokolle und Ereignisse ContainerLog oder ContainerLogV2, KubeEvents, KubePodInventory Empfohlen, wenn Sie verwaltete Prometheus-Metriken aktiviert haben
Workloads, Bereitstellungen und HPAs InsightsMetrics, KubePodInventory, KubeEvents, ContainerInventory, ContainerNodeInventory, KubeNodeInventory, KubeServices
Persistent Volumes InsightsMetrics, KubePVInventory

Screenshot of AKS data plane logs collection configuration page.

Die Gruppierung Protokolle und Ereignisse erfasst die Protokolle aus den Tabellen ContainerLog oder ContainerLogV2, KubeEvents, KubePodInventory, aber nicht die Metriken. Der empfohlene Pfad zum Sammeln von Metriken besteht darin, den verwalteten Azure Monitor-Dienst für Prometheus über Ihren AKS-Cluster zu aktivieren und Azure Managed Grafana für die Datenvisualisierung zu verwenden. Weitere Informationen finden Sie unter Verwalten eines Azure Monitor-Arbeitsbereichs.

ContainerLogV2-Schema

Die Containererkenntnisse von Azure Monitor stellen ein Schema für Containerprotokolle bereit, die als ContainerLogV2 bezeichnet werden. Dies ist die empfohlene Option. Dieses Format enthält die folgenden Felder, um allgemeine Abfragen zum Anzeigen von Daten im Zusammenhang mit AKS- und Azure Arc-fähigen Kubernetes-Clustern zu erleichtern:

  • ContainerName
  • PodName
  • PodNamespace

Darüber hinaus ist dieses Schema mit dem Datenplan Basisprotokolle kompatibel, was eine kostengünstige Alternative zu den standardmäßigen Analyseprotokollen bietet. Mit dem Basic-Protokolldatenplan können Sie die Kosten für das Erfassen und Speichern von ausführlichen Protokollen mit hohem Volumen sparen, die Sie in Ihrem Log Analytics-Arbeitsbereich zum Debuggen, zur Problembehandlung und Überwachung verwenden, jedoch nicht für Analysen und Warnungen. Weitere Informationen finden Sie unter Verwalten von Tabellen in einem Log Analytics-Arbeitsbereich. ContainerLogV2 ist der empfohlene Ansatz und das Standardschema für Kunden, die das Onboarding der Containererkenntnisse mit Authentifizierung per verwalteter Identität über ARM, Bicep, Terraform, Policy und das Azure-Portal durchführen. Weitere Informationen zum Aktivieren von ContainerLogV2 über die Datensammlungsregel des Clusters oder ConfigMap finden Sie unter Aktivieren des ContainerLogV2-Schemas.

Visualisierung

Die Datenvisualisierung ist ein grundlegendes Konzept, das es Systemadministrator*innen und Betriebstechniker*innen erleichtert, die gesammelten Informationen zu nutzen. Anstatt Rohdaten zu betrachten, können sie visuelle Darstellungen verwenden, mit denen sich die Daten schnell anzeigen und Trends erkennen lassen, die bei der Betrachtung von Rohdaten möglicherweise verborgen bleiben. Sie können Grafana-Dashboards oder native Azure-Arbeitsmappen für die Datenvisualisierung verwenden.

Von Azure verwaltetes Grafana

Die am häufigsten verwendete Methode zum Analysieren und Darstellen von Prometheus-Daten ist ein Grafana-Dashboard. In Azure Managed Grafana stehen für die Überwachung von Kubernetes-Clustern zahlreiche vordefinierte Dashboards zur Verfügung, darunter mehrere, die ähnliche Informationen bieten wie die Ansichten der Containererkenntnisse. Es gibt auch verschiedene von der Community erstellte Dashboards, um mehrere Aspekte eines Kubernetes-Clusters aus den von Prometheus gesammelten Metriken zu visualisieren.

Screenshot of Grafana.

Arbeitsmappen

Azure Monitor-Arbeitsmappen ist ein Feature in Azure Monitor, das eine flexible Canvas für die Datenanalyse und die Erstellung umfassender visueller Berichte bietet. Arbeitsmappen helfen Ihnen beim Erstellen visueller Berichte, die Sie bei der Datenanalyse unterstützen. Berichte in Container Insights werden sofort verwendbar für Azure-Arbeitsmappen empfohlen. Azure bietet integrierte Arbeitsmappen für jeden Dienst (u. a. Azure Kubernetes Service (AKS)), auf die Sie über das Azure-Portal zugreifen können. Wählen Sie im Azure-Portal im Azure Monitor-Menü die Option Container aus. Wählen Sie im Abschnitt Überwachung die Option Erkenntnisse aus, wählen Sie einen bestimmten Cluster und dann die Registerkarte Berichte aus. Sie können sie auch im Arbeitsmappenkatalog in Azure Monitor anzeigen.

Die Arbeitsmappe zur Clusteroptimierung bietet beispielsweise mehrere Analysetools, die Ihnen einen schnellen Überblick über die Integrität und Leistung Ihres Kubernetes-Clusters bieten. Sie verfügt über mehrere Analysetools, die jeweils unterschiedliche Informationen im Zusammenhang mit Ihrem Cluster bereitstellen. Die Arbeitsmappe erfordert keine Konfiguration, nachdem Containererkenntnisse im Cluster aktiviert wurden. Zu den wichtigsten Funktionen gehören Folgende: Erkennen von Fehlern bei Livetests und deren Häufigkeit, Identifizieren und Gruppieren von Ereignisanomalien, die auf einen aktuellen Anstieg des Ereignisvolumens hinweisen, für eine leichter zugängliche Analyse und Ermitteln von Containern mit hohen oder niedrigen CPU- und Speichergrenzwerten und einer hohen oder niedrigen Anzahl von Anforderungen sowie vorgeschlagene Grenzwerte und Anforderungswerte für diese Container, die in Ihren AKS-Clustern ausgeführt werden. Weitere Informationen zu diesen Arbeitsmappen finden Sie unter Berichte in Containererkenntnissen.

Alerts

Azure Monitor-Warnungen helfen Ihnen, Probleme zu erkennen und zu beheben, bevor Benutzer*innen sie bemerken, indem sie Sie proaktiv benachrichtigen, wenn von Azure Monitor gesammelte Daten auf ein Problem mit Ihrer Cloudinfrastruktur oder Anwendung hinweisen. Sie ermöglichen Ihnen, Probleme in Ihrem System zu identifizieren und zu beheben, bevor Ihre Kunden sie bemerken. Sie können Warnungen für Metriken, Protokolle und das Aktivitätsprotokoll festlegen. Verschiedene Arten von Warnungen haben Vor- und Nachteile.

Es gibt zwei Typen von Metrikregeln, die von Containererkenntnissen basierend auf Prometheus- oder Plattformmetriken verwendet werden.

Auf Prometheus-Metriken basierende Warnungen

Wenn Sie die Sammlung von Prometheus-Metriken für Ihren Cluster aktivieren, können Sie eine Sammlung der empfohlenen Prometheus-Warnungsregeln herunterladen. Diese umfasst die folgenden Regeln:

Ebene Alerts
Podebene KubePodCrashLooping
Der Auftrag wurde nicht rechtzeitig abgeschlossen.
Der Podcontainer wurde in der letzten Stunde neu gestartet
Der Bereitschaftszustand von Pods ist kleiner als 80 %
Die Anzahl der Pods in fehlerhaftem Zustand ist größer als 0 (null)
KubePodNotReadyByController
KubeStatefulSetGenerationMismatch
KubeJobNotCompleted
KubeJobFailed
Die durchschnittliche CPU-Nutzung pro Container ist größer als 95 %
Die durchschnittliche Arbeitsspeicherauslastung pro Container ist größer als 95 %
KubeletPodStartUpLatencyHigh
Clusterebene Die durchschnittliche PV-Nutzung ist größer als 80 %
KubeDeploymentReplicasMismatch
KubeStatefulSetReplicasMismatch
KubeHpaReplicasMismatch
KubeHpaMaxedOut
KubeCPUQuotaOvercommit
KubeMemoryQuotaOvercommit
KubeVersionMismatch
KubeClientErrors
CPUThrottlingHigh
KubePersistentVolumeFillingUp
KubePersistentVolumeInodesFillingUp
KubePersistentVolumeErrors
Knotenebene Die durchschnittliche CPU-Nutzung durch den Knoten ist größer als 80 %
Die Speichernutzung für den Arbeitssatz für einen Knoten ist größer als 80 %
Die Anzahl der aufgrund von Arbeitsspeichermangel beendeten Container ist größer als 0 (null)
KubeNodeUnreachable
KubeNodeNotReady
KubeNodeReadinessFlapping
KubeContainerWaiting
KubeDaemonSetNotScheduled
KubeDaemonSetMisScheduled
KubeletPlegDurationHigh
KubeletServerCertificateExpiration
KubeletClientCertificateRenewalErrors
KubeletServerCertificateRenewalErrors
KubeQuotaAlmostFull
KubeQuotaFullyUsed
KubeQuotaExceeded

Auf Plattformmetriken basierende Warnungen

In der folgenden Tabelle sind die empfohlenen Metrikwarnungsregeln für AKS-Cluster aufgeführt. Diese Warnungen basieren auf Plattformmetriken für den Cluster.

Bedingung Beschreibung
Prozentuale CPU-Auslastung > 95 Wird ausgelöst, wenn die durchschnittliche CPU-Auslastung auf allen Knoten den Schwellenwert überschreitet.
Arbeitssatz für Arbeitsspeicher (Prozent) > 100 Wird ausgelöst, wenn der durchschnittliche Arbeitssatz auf allen Knoten den Schwellenwert überschreitet.

Protokollbasierte Warnungen

Protokollwarnungen ermöglichen Benachrichtigungen zu Protokollen auf Datenebene und Steuerungsebene. Führen Sie Abfragen in vordefinierten Intervallen aus, und erstellen Sie basierend auf den Ergebnissen eine Warnung. Sie können die Anzahl bestimmter Datensätze überprüfen oder Berechnungen basierend auf numerischen Spalten durchführen.

Weitere Informationen finden Sie unter Erstellen von Protokollwarnungen auf der Grundlage von Containererkenntnissen und Abfragen von Protokollen aus Containererkenntnissen. Protokollwarnungen können zwei verschiedene Dinge messen, die zum Überwachen in verschiedenen Szenarien verwendet werden können:

  • Ergebnisanzahl: Erfasst die Anzahl der von der Abfrage zurückgegebenen Zeilen und kann zum Arbeiten mit Ereignissen wie Windows-Ereignisprotokollen, Syslog und Anwendungsausnahmen verwendet werden.
  • Berechnung eines Werts: Führt eine Berechnung basierend auf einer numerischen Spalte durch und kann verwendet werden, um eine beliebige Anzahl von Ressourcen einzuschließen. Ein Beispiel ist die prozentuale CPU-Auslastung.

Abhängig vom erforderlichen Warnungsszenario müssen Protokollabfragen erstellt werden. Diese Abfragen vergleichen mithilfe des Operators now einen DateTime-Wert mit der aktuellen Uhrzeit und gehen um eine Stunde zurück. Informationen zum Erstellen von protokollbasierten Warnungen finden Sie unter Erstellen von Protokollwarnungen auf der Grundlage von Containererkenntnissen.

Netzwerkeinblick

Network Observability ist ein wichtiger Bestandteil der Aufrechterhaltung eines fehlerfreien und leistungsfähigen Kubernetes-Clusters. Durch das Sammeln und Analysieren von Daten zum Netzwerkdatenverkehr können Sie Einblicke in den Betrieb Ihres Clusters gewinnen und potenzielle Probleme identifizieren, bevor sie zu Ausfällen oder Leistungseinbußen führen.

Wenn das Network Observability-Add-On aktiviert ist, sammelt und konvertiert es nützliche Metriken in das Prometheus-Format, das in Grafana visualisiert werden kann. Wenn diese Option aktiviert ist, werden die gesammelten Metriken automatisch im verwalteten Azure Monitor-Dienst für Prometheus erfasst. Ein Grafana-Dashboard ist im öffentlichen Repository mit Grafana-Dashboards verfügbar, um die von Prometheus gesammelten Network Observability-Metriken zu visualisieren. Ausführliche Anweisungen finden Sie unter Einrichten von Network Observability.

Nächste Schritte