Protokollerfassung mit hohem Durchsatz in Container Insights (Vorschau)

Der Modus mit hohem Protokolldurchsatz ist ein Feature in Container Insights, mit dem Sie Containerkonsolenprotokolle („stdout“ und „stderr“) mit hohem Durchsatz von Ihren Azure Kubernetes Service (AKS)-Clusterknoten erfassen können. Mit diesem Feature können Sie pro Knoten bis zu 50.000 Protokolle pro Sekunde erfassen.

Hinweis

Dieses Feature ist zurzeit als öffentliche Preview verfügbar. Weitere Informationen finden Sie in den Ergänzenden Nutzungsbedingungen für Microsoft Azure-Vorschauversionen.

Übersicht

Wenn der Modus mit hohem Durchsatz aktiviert ist, führt Container Insights mehrere Konfigurationsänderungen durch, was zu einem höheren Gesamtdurchsatz führt. Zu diesen Änderungen zählt die Verwendung eines aktualisierten Agents und einer Azure Monitor-Datenpipeline mit Skalierungsverbesserungen. Die Änderungen werden alle im Hintergrund von Azure Monitor vorgenommen und erfordern keine Eingabe oder Konfiguration, nachdem das Feature aktiviert wurde.

Der Modus mit hohem Protokolldurchsatz wirkt sich nur auf die Datensammlungsebene aus. Ansonsten bleibt die Funktionsweise von Container-Insights gleich, und Protokolle werden in derselben Tabelle ContainerLogV2 erfasst. Vorhandene Abfragen und Warnungen funktionieren weiterhin, da dieselben Daten gesammelt werden.

Um den maximalen unterstützten Protokolldurchsatz zu erzielen, sollten Sie High-End-VM-SKUs mit mindestens 16 CPU-Kernen für Ihre AKS-Clusterknoten verwenden. Die Verwendung von Low-End-VM-SKUs wirkt sich auf den Protokolldurchsatz aus.

Ist mein Cluster qualifiziert?

Die Protokollerfassung mit hohem Durchsatz eignet sich für Umgebungen, die mehr als 2.000 Protokolle/Sekunde (oder 2 MB/s) pro Knoten in ihren Kubernetes-Clustern senden, und wurde für das Senden von bis zu 50.000 Protokollen/Sekunde pro Knoten entwickelt und getestet. Verwenden Sie die folgenden Protokollabfragen, um zu ermitteln, ob Ihr Cluster für die Protokollerfassung mit hohem Durchsatz geeignet ist.

Protokolle pro Sekunde und pro Knoten

ContainerLogV2 
| where _ResourceId = "<cluster-resource-id>" 
| summarize count() by bin(TimeGenerated, 1s), Computer 
| render timechart 

Protokollgröße (in MB) pro Sekunde pro Knoten

 ContainerLogV2 
| where _ResourceId = "<cluster-resource-id>"
| summarize BillableDataMB = sum(_BilledSize)/1024/1024 by bin(TimeGenerated, 1s), Computer 
| render timechart 

Voraussetzungen

  • Version 2.63.0 oder höher der Azure CLI (Command Line Interface, Befehlszeilenschnittstelle).
  • Wenn eine „aks-preview“-CLI-Erweiterung installiert ist, muss es sich dabei um Version 7.0.0b4 oder höher handeln.
  • Das Clusterschema muss für ContainerLogV2 konfiguriert sein.
  • Wenn die Standardressourcengrenzwerte (CPU und Arbeitsspeicher) für den ama-logs-DaemonSet-Container nicht Ihren Anforderungen an den Protokolldurchsatz entsprechen, fordern Sie über den Microsoft-Supportkanal eine Erhöhung der Ressourcengrenzwerte Ihres ama-logs-Containers an.

Netzwerkfirewallanforderungen

Zusätzlich zu den Netzwerkfirewallanforderungen für die Überwachung eines Kubernetes-Clusters sind je nach Cloud die in der folgenden Tabelle aufgeführten zusätzlichen Konfigurationen erforderlich, um den Modus mit hohem Durchsatz zu aktivieren.

Cloud Endpunkt Port
Öffentliche Azure-Cloud <dce-name>-<suffix>.<cluster-region-name>-<suffix>.ingest.monitor.azure.com 443
Cloud Microsoft Azure, betrieben von 21Vianet <dce-name>-<suffix>.<cluster-region-name>-<suffix>.ingest.monitor.azure.cn 443
Azure Government-Cloud <dce-name>-<suffix>.<cluster-region-name>-<suffix>.ingest.monitor.azure.us 443

Der Endpunkt ist der Protokollerfassungsendpunkt des Datensammlungsendpunkts (Data Collection Endpoint, DCE) für die vom Cluster verwendete Datensammlungsregel (Data Collection Rule, DCR). Dieser Datensammlungsendpunkt wird erstellt, wenn Sie den Modus mit hohem Durchsatz für den Cluster aktivieren, und beginnt mit dem Präfix MSCI-ingest.

Screenshot: Protokollerfassungsendpunkt für den Datensammlungsendpunkt

Begrenzungen

Die folgenden Szenarien werden in der Vorschauversion nicht unterstützt. Dies wird behoben, wenn das Feature allgemein verfügbar wird.

  • AKS-Cluster mit Arm64-Knoten
  • Azure Arc-fähiges Kubernetes
  • HTTP-Proxy mit vertrauenswürdigem Zertifikat
  • Onboarding über das Azure-Portal, Azure Policy, Terraform und Bicep
  • Konfiguration über die Überwachungseinstellungen in der Benutzeroberfläche des AKS-Insights-Portals
  • Automatische Migration einer vorhandenen Container Insights-Instanz

Aktivieren der Protokollerfassung mit hohem Durchsatz

Führen Sie die beiden Schritte in den folgenden Abschnitten aus, um den Modus mit hohem Durchsatz für Ihren Cluster zu aktivieren.

Hinweis

Für den Modus mit hohem Protokolldurchsatz ist ein Datensammlungsendpunkt (DCE) für die Datenerfassung erforderlich. Wenn Sie das Onboarding der Cluster durchführen, wird für jeden Cluster ein Datensammlungsendpunkt für die Datenerfassung mit dem Präfix MSCI-ingest erstellt. Wenn der Azure Monitor-Private Link-Bereich konfiguriert ist, wird auch ein Datensammlungsendpunkt für die Konfiguration mit dem Präfix MSCI-config erstellt.

Aktualisieren der ConfigMap

Der erste Schritt besteht darin, die ConfigMap für den Cluster zu aktualisieren, um die Ausführung der ama-logs-DeamonSet-Pods von Container Insights im Modus mit hohem Durchsatz anzuweisen.

Befolgen Sie die Anweisungen unter Konfigurieren und Bereitstellen einer ConfigMap, um die ConfigMap für den Cluster herunterzuladen und zu aktualisieren. Die einzige Änderung, die Sie für die Protokollerfassung mit hohem Durchsatz vornehmen müssen, besteht darin, unter agent-settings wie folgt agent_settings.high_log_scale zu aktivieren:

[agent_settings.high_log_scale] 
  enabled = true 

Nachdem Sie diese ConfigMap angewendet haben, werden ama-logs-*-Pods automatisch neu gestartet und die ama-logs-DaemonSet-Pods zur Ausführung im Modus mit hohem Durchsatz konfiguriert.

Aktivieren des Modus mit hohem Durchsatz für das Überwachungs-Add-On

Verwenden Sie je nach AKS-Konfiguration einen der folgenden Azure CLI-Befehle, um den Modus mit hohem Protokolldurchsatz für das Überwachungs-Add-On zu aktivieren.

Hinweis

Anstelle der CLI können Sie eine Resource Manager (ARM)-Vorlage verwenden, um den Modus mit hohem Durchsatz für das Überwachungs-Add-On zu aktivieren. Einen Leitfaden zum Aktivieren von Container Insights mithilfe einer ARM-Vorlage finden Sie unter Aktivieren von Container Insights. Verwenden Sie zum Aktivieren des Modus mit hohem Durchsatz wie unter Konfigurieren einer Datensammlungsregel mit ARM-Vorlagen beschrieben im streams-Parameter Microsoft-ContainerLogV2-HighScale anstelle von Microsoft-ContainerLogV2.

Vorhandener AKS-Cluster

az aks enable-addons -a monitoring -g <resource-group-name> -n <cluster-name> --enable-high-log-scale-mode  

Vorhandener privater AKS-Cluster

az aks enable-addons -a monitoring -g  <resource-group-name> -n <cluster-name> --enable-high-scale-mode --ampls-resource-id /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/microsoft.insights/privatelinkscopes/<resourceName> 

Neuer AKS-Cluster

az aks create -g <cluster-name> -n <cluster-name> enable-addons -a monitoring --enable-high-log-scale-mode  

Neuer privater AKS-Cluster

Informationen zum Erstellen eines privaten AKS-Clusters finden Sie unter Erstellen eines privaten Azure Kubernetes Service (AKS)-Clusters. Verwenden Sie die zusätzlichen Parameter --enable-high-scale-mode und --ampls-resource-id, um den Modus mit hohem Protokolldurchsatz mit der Ressourcen-ID des Azure Monitor-Private Link-Bereichs zu konfigurieren.

Migration

Wenn Container Insights bereits für Ihren Cluster aktiviert ist, müssen Sie es deaktivieren und dann mit dem Modus mit hohem Durchsatz erneut aktivieren.

  • Da der Modus mit hohem Durchsatz eine andere Datenpipeline verwendet, müssen Sie sicherstellen, dass die Pipelineendpunkte nicht durch eine Firewall oder andere Netzwerkverbindungen blockiert werden.
  • Für den Modus mit hohem Protokolldurchsatz ist zusätzlich zur Standard-Datensammlungsregel für die Datensammlung ein Datensammlungsendpunkt für die Datenerfassung erforderlich. Wenn Sie bereits Datensammlungsregeln mit Microsoft.ContainerLogV2 erstellt haben, müssen Sie dies durch Microsoft.ContainerLogV2-HighScale ersetzen. Andernfalls werden Daten dupliziert. Sie sollten auch einen Datensammlungsendpunkt für die Datenerfassung erstellen und mit der Datensammlungsregel verknüpfen, sofern diese noch keinen solchen Endpunkt verwendet. Informationen zu den Abhängigkeiten finden Sie im Artikel zum Container Insights-Onboarding über Azure Resource Manager.

Nächste Schritte