Überwachungs- und Protokollierungsdaten
Gilt für: AKS in Azure Stack HCI 22H2, AKS unter Windows Server
In diesem Artikel wird beschrieben, wie Sie Ihre Azure Kubernetes Service-Bereitstellung (AKS) überwachen und Protokollierungsdaten in AKS sammeln, die von Azure Arc aktiviert sind. Sie erfahren, wie Sie die lokale Überwachung mit Prometheus
und Graphana
einrichten und darauf zugreifen und wie Sie Protokolle mit Elasticsearch
, Fluent Bit
und (EFK) sammeln und Kibana
anzeigen.
Wie in der folgenden Tabelle beschrieben, stehen zwei Arten von Überwachungs- und Protokollierungslösungen zur Verfügung:
Lösung | Azure-Konnektivität | Support und Service | Kosten | Bereitstellung |
---|---|---|---|---|
Azure Monitor | Erfordert eine Verbindung zwischen dem Kubernetes-Cluster und Azure mithilfe von Azure Arc für Kubernetes. | Vollständiger Support und Service von Microsoft. | Erfordert die Registrierung für den Azure Monitor-Dienst. | Verwenden Sie Azure Arc zum Überwachen von Clustern. |
Lokale Überwachung und Protokollierung | Erfordert keine Azure-Konnektivität. | Unterstützt als Open-Source-Software von Microsoft (ohne Supportvereinbarung oder SLAs), der Community und/oder externen Anbietern. | Herstellerabhängig. | Kundenorientiert. Weitere Informationen finden Sie unter Überwachen von Clustern mithilfe der lokalen Überwachung. |
Informationen zur Verwendung von Azure Monitor mit Kubernetes-Clustern finden Sie in der Azure Monitor-Übersicht.
Verwenden der lokalen Überwachung
Beim Ausführen von Apps in der Produktion müssen Sie die Integrität, Leistung und Ressourcennutzung der Knoten und Workloads der Steuerungsebene in Ihrem Cluster überwachen. Die empfohlene Überwachungslösung umfasst die folgenden beiden Tools:
- Prometheus ist ein Toolkit für Überwachung und Warnungen, das Sie für die Überwachung von Containerworkloads verwenden können. Prometheus arbeitet mit verschiedenen Typen von Collectors und Agents zusammen, um Metriken zu erfassen und in einer Datenbank zu speichern, in der Sie die Daten abfragen und Berichte anzeigen können. AKS Arc vereinfacht die Bereitstellung von Prometheus, die weiter unten in diesem Artikel beschrieben wird.
- Grafana ist ein Tool, mit dem Metriken auf den Grafana-Dashboards angezeigt, abgefragt und visualisiert werden können. Sie können Grafana auch so konfigurieren, dass Prometheus als Datenquelle verwendet wird. Sie müssen über eine eigene lizenzierte Kopie von Grafana mit AKS Arc verfügen.
Übersicht über die Überwachungslösung
Als Teil der Prometheus-Lösung in AKS, die von Arc aktiviert ist, werden die folgenden Komponenten bereitgestellt und automatisch konfiguriert:
Die Bereitstellung basiert auf dem öffentlich verfügbaren Kube-Prometheus-Stack Helm-Diagramm , das erweitert wird, um den Windows-Exporter zu unterstützen und das Abwracken von Metriken zwischen Prometheus und Agents zu sichern. Sobald die Prometheus-Lösung bereitgestellt wurde, wird der Knotenexportierer auf jedem Linux-Knoten ausgeführt, und der Windows-Exporter wird auf jedem Windows-Knoten ausgeführt.
Hinweis
Da der Prometheus-Operator, Prometheus und Kube-Zustandsmetrikenkomponenten nur unter Linux unterstützt werden, müssen Sie mindestens einen Linux-Knoten in Ihrem AKS-Cluster bereitstellen, um diese Lösung bereitzustellen.
Die Objekte und Endpunkte, für die von der Prometheus-Lösung Scraping ausgeführt wird, umfassen folgende Elemente:
- Kube-Zustandsmetriken zum Erfassen verschiedener von Kubernetes bereitgestellter Metriken
- Kubernetes-API-Server
- Kubelet
- Knoten-Exporter zum Erfassen von Metriken für Linux-Knoten
- Windows-Exporter zum Erfassen von Metriken für Windows-Knoten
Informationen zum Anzeigen der grafana-Dashboards, die in AKS Arc verfügbar sind, finden Sie unter Grafana-Dashboards verfügbar in AKS Arc.
Bereitstellen einer Überwachungslösung mithilfe von PowerShell
In diesem Abschnitt werden die beiden Optionen beschrieben, die Sie zum Bereitstellen von Überwachung in einem Workloadcluster verwenden können.
Option 1: Bereitstellen der Überwachungslösung beim Erstellen des Workloadclusters
Um die Überwachung zu aktivieren, geben Sie den -enableMonitoring
Parameter an, wenn Sie New-AksHciCluster zum Erstellen des Workloadclusters verwenden, wie im folgenden Beispiel gezeigt:
New-AksHciCluster -name mynewcluster -enableMonitoring
Überwachung wird mit der folgenden Standardkonfiguration installiert:
- Die Größe des persistenten Volumes, das zum Speichern von Metriken (
storageSizeGB
) bereitgestellt wird, beträgt 100 GB. - Die Aufbewahrungsdauer für erfasste Metriken (
retentionTimeHours
) beträgt 240 Stunden (oder 10 Tage).
Option 2: Bereitstellen der Überwachungslösung in einem vorhandenen Workloadcluster
Führen Sie den Befehl Install-AksHciMonitoring wie folgt aus, um die Überwachungslösung in einem vorhandenen Workloadcluster bereitzustellen:
Install-AksHciMonitoring -Name mycluster -storageSizeGB 100 -retentionTimeHours 240
Der -storageSizeGB
Parameter legt die Größe des persistenten Volumes fest, das zum Speichern von Metriken bereitgestellt wird, und der -retentionTimeHours
Parameter legt die Dauer fest, für die die gesammelten Metriken beibehalten werden.
Die Überwachungslösung wird in einem separaten Namespace namens monitoring
installiert und verwendet eine StorageClass namens monitoring-sc
. Prometheus wird an einem internen Endpunkt verfügbar gemacht, auf den nur innerhalb des Clusters unter http://akshci-monitoring-prometheus-svc.monitoring:9090
zugegriffen werden kann.
Deinstallieren der Überwachungslösung mithilfe von PowerShell
Führen Sie den Uninstall-AksHciMonitoring
PowerShell-Befehl aus, um die AKS Arc-Überwachungslösung wie folgt zu deinstallieren:
Uninstall-AksHciMonitoring -Name <target cluster name>
Der Deinstallationsvorgang entfernt alles, einschließlich des Namespaces, der StorageClass und der tatsächlichen Daten und Metriken des persistenten Volumes.
Bereitstellen von Grafana und Konfigurieren für die Verwendung von Prometheus
Sie können alle Anleitungen für die Bereitstellung von Grafana befolgen, die öffentlich verfügbar ist. Sie können auch den Bereitstellungsleitfaden von Microsoft für die Verwendung von Grafana anzeigen, in dem beschrieben wird, wie Grafana bereitgestellt und konfiguriert wird, um es mit einer AKS Prometheus-instance zu verbinden. Auf dieser GitHub-Seite wird auch beschrieben, wie Grafana-Dashboards hinzugefügt werden, die Microsoft für von Arc aktivierte AKS zur Verfügung stellt.
Lokale Protokollierung
Protokollierung ist wichtig für Problembehandlung und Diagnose. Die Protokollierungslösung in AKS Arc basiert auf Elasticsearch, Fluent Bit und Kibana (EFK). Diese Komponenten werden alle als Container bereitgestellt:
- Fluent Bit ist der Protokollprozessor und die Weiterleitung, die Daten und Protokolle aus verschiedenen Quellen sammelt. Anschließend werden sie formatiert, vereinheitlicht und in Elasticsearch gespeichert.
- Elasticsearch ist eine verteilte Such- und Analyse-Engine, mit der die Protokolle für schnelle Suchvorgänge und Datenanalysen zentral gespeichert werden können.
- Kibana bietet interaktive Visualisierungen in einer Web-Dashboard. Mit diesem Tool können Sie Protokolle anzeigen und abfragen, die in Elasticsearch gespeichert sind, und diese dann über Diagramme und Dashboards visualisieren.
Informationen zum Einrichten einer lokalen Protokollierungslösung finden Sie in den Schritten zum Einrichten der Protokollierung für den Zugriff auf Kibana. Dieser Artikel umfasst alle Komponenten, die zum Erfassen, Aggregieren und Abfragen von Containerprotokollen im gesamten Cluster erforderlich sind.
Erweiterte Konfigurationsschritte finden Sie unter Windows-Protokollierung.