Überwachen und Protokollieren von Daten
Gilt für: AKS auf Azure Local 22H2, AKS unter Windows Server
In diesem Artikel wird beschrieben, wie Sie Ihre Azure Kubernetes Service (AKS)-Bereitstellung überwachen und Protokollierungsdaten in AKS sammeln, die von Azure Arc aktiviert sind. Sie erfahren, wie Sie die lokale Überwachung mithilfe von Prometheus
und Graphana
einrichten und darauf zugreifen und wie Sie Protokolle mithilfe von Elasticsearch
, Fluent Bit
und Kibana
(EFK) sammeln und anzeigen.
Es stehen zwei Arten von Überwachungs- und Protokollierungslösungen zur Verfügung, wie in der folgenden Tabelle beschrieben:
Lösung | Azure-Konnektivität | Support und Service | Kosten | Einsatz |
---|---|---|---|---|
Azure Monitor | Erfordert die Verbindung des Kubernetes-Clusters mit Azure-Diensten über Azure Arc für Kubernetes. | Vollständiger Support und Service von Microsoft. | Erfordert die Registrierung für den Azure Monitor-Dienst. | Verwenden von Azure Arc zum Überwachen von Clustern |
Lokale Überwachung und Protokollierung | Erfordert keine Azure-Konnektivität. | Unterstützt als Open-Source-Software von Microsoft (ohne Supportvertrag oder SLAs), der Community und/oder externer Anbieter. | Herstellerabhängig. | Kundengesteuert. Siehe Überwachen von Clustern mithilfe der lokalen Überwachung. |
Informationen zur Verwendung von Azure Monitor zusammen mit Kubernetes-Clustern finden Sie in der Übersicht zu Azure Monitor .
Verwenden der lokalen Überwachung
Es ist wichtig, dass Sie den Status, die Leistung und die Ressourcennutzung der Steuerungsebenenknoten und -workloads auf Ihrem Cluster überwachen, wenn Apps in der Produktion ausgeführt werden. Die empfohlene Überwachungslösung umfasst die folgenden beiden Tools:
- Prometheus ist ein Überwachungs- und Warnungs-Toolkit, das Sie für die Überwachung von containerisierten Workloads verwenden können. Prometheus arbeitet mit verschiedenen Arten von Sammlern und Agents zusammen, um Metriken zu sammeln und in einer Datenbank zu speichern, in der Sie die Daten abfragen und Berichte anzeigen können. AKS Arc erleichtert 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 Ihre eigene lizenzierte Kopie von Grafana mit AKS Arc verfügen.
Übersicht über die Überwachungslösung
Als Teil der durch Arc aktivierten Prometheus-Lösung in AKS 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 Metriken-Scraping zwischen Prometheus und Agents zu sichern. Sobald die Prometheus-Lösung bereitgestellt wurde, wird der Node-Exporter auf jedem Linux-Knoten ausgeführt, und der Windows-Exporter wird auf jedem Windows-Knoten ausgeführt.
Anmerkung
Da die Prometheus-Operator-, Prometheus- und Kube-State-Metriken-Komponenten nur unter Linux unterstützt werden, müssen Sie mindestens einen Linux-Knoten in Ihrem AKS-Cluster bereitstellen, um die Lösung zu implementieren.
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 in AKS Arc verfügbaren Grafana-Dashboards finden Sie unter In AKS Arc verfügbare Grafana-Dashboards.
Bereitstellen der Überwachungslösung mithilfe von PowerShell
In diesem Abschnitt werden die beiden Optionen beschrieben, die Sie zum Bereitstellen der Überwachung auf einem Workloadcluster verwenden können.
Option 1: Bereitstellen der Überwachungslösung beim Erstellen des Workloadclusters
Stellen Sie zum Aktivieren der Überwachung den -enableMonitoring
-Parameter bereit, wenn Sie New-AksHciCluster- verwenden, um den Workload-Cluster zu erstellen, wie im folgenden Beispiel gezeigt:
New-AksHciCluster -name mynewcluster -enableMonitoring
Die Überwachung wird mit der folgenden Standardkonfiguration installiert:
- Die Größe des persistenten Volumes, das zum Speichern von Metriken bereitgestellt wird (
storageSizeGB
) beträgt 100 GB. - Die Aufbewahrungszeit für gesammelte Metriken (
retentionTimeHours
) beträgt 240 Stunden (oder 10 Tage).
Option 2: Bereitstellen der Überwachungslösung in einem vorhandenen Workloadcluster
Führen Sie den Install-AksHciMonitoring-Befehl aus, um die Überwachungslösung auf einem vorhandenen Workload-Cluster bereitzustellen:
Install-AksHciMonitoring -Name mycluster -storageSizeGB 100 -retentionTimeHours 240
Der parameter -storageSizeGB
legt die Größe des persistenten Volumes fest, das zum Speichern von Metriken bereitgestellt wird, und der parameter -retentionTimeHours
legt die Zeitspanne fest, in der die gesammelten Metriken aufbewahrt 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 mit 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 Deinstallationsprozess entfernt alles, einschließlich des Namespaces, der StorageClass und der tatsächlichen Daten und Metriken des persistenten Volumes.
Deployen Sie Grafana und konfigurieren Sie es für die Verwendung von Prometheus.
Sie können jedem Leitfaden für die Bereitstellung von Grafana folgen, das öffentlich verfügbar ist. Sie können auch die Bereitstellungsleitfaden von Microsoft anzeigen, um Grafana zu verwenden. Hier erfahren Sie, wie Sie Grafana bereitstellen und konfigurieren, um sie mit einer AKS Prometheus-Instanz zu verbinden. Auf dieser GitHub-Seite wird auch beschrieben, wie Grafana-Dashboards hinzugefügt werden, die Microsoft für von Arc aktivierte AKS verfügbar macht.
Lokale Protokollierung
Die Protokollierung ist für die Problembehandlung und Diagnose von entscheidender Bedeutung. Die Protokollierungslösung in AKS Arc basiert auf Elasticsearch, Fluent Bit und Kibana (EFK). Diese Komponenten werden alle als Container bereitgestellt:
- Fluent Bit ist ein Protokollprozessor und Weiterleitungsprogramm, das Daten und Logs aus verschiedenen Quellen sammelt. Anschließend werden sie formatiert, vereint und in Elasticsearch gespeichert.
- Elasticsearch ist ein verteiltes Such- und Analysemodul, das die Protokolle für schnelle Suchen und Datenanalysen zentral speichern kann.
- Kibana bietet interaktive Visualisierungen auf einem Web-Dashboard. Mit diesem Tool können Sie in Der Elasticsearch gespeicherte Protokolle anzeigen und abfragen 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 enthält alle Komponenten, die zum Sammeln, Aggregieren und Abfragen von Containerprotokollen im gesamten Cluster erforderlich sind.
Erweiterte Konfigurationsschritte finden Sie unter Windows-Protokollierung.