Partager via


Collecte de journaux à grande échelle dans Container Insights (préversion)

Le mode à grande échelle est une fonctionnalité de Container Insights qui vous permet de collecter des journaux de console de conteneur (stdout et stderr) avec un débit élevé à partir de vos nœuds de cluster Azure Kubernetes Service (AKS). Cette fonctionnalité vous permet de collecter jusqu’à 50 000 journaux/s et par nœud.

Remarque

Cette fonctionnalité est actuellement disponible en préversion publique. Pour plus d’informations, consultez les Conditions d’utilisation supplémentaires des préversions Microsoft Azure.

Vue d’ensemble

Lorsque le mode à grande échelle est activé, Container Insights effectue plusieurs modifications de configuration, ce qui entraîne un débit global plus élevé. Cela inclut l’utilisation d’un agent mis à niveau et d’un pipeline de données Azure Monitor avec des améliorations de mise à l’échelle. Ces modifications sont toutes apportées en arrière-plan par Azure Monitor et ne nécessitent pas d’entrée ni de configuration une fois la fonctionnalité activée.

Le mode à grande échelle affecte uniquement la couche de collecte de données. Le reste de l’expérience Container Insights reste le même, les journaux étant ingérés dans la même table ContainerLogV2. Les requêtes et alertes existantes continuent de fonctionner, car les mêmes données sont collectées.

Pour obtenir le débit maximal de journaux pris en charge, vous devez utiliser des références SKU de machine virtuelle haut de gamme avec 16 cœurs d’UC ou plus pour vos nœuds de cluster AKS. L’utilisation de références SKU de machine virtuelle bas de gamme aura un impact sur le débit de vos journaux.

Mon cluster convient-il ?

La collecte de journaux à grande échelle convient aux environnements qui envoient plus de 2 000 journaux/s (ou 2 Mo/s) par nœud dans leurs clusters Kubernetes et ont été conçus et testés pour envoyer jusqu’à 50 000 journaux/s et par nœud. Utilisez les requêtes de journal suivantes pour déterminer si votre cluster convient pour la collecte de journaux à grande échelle.

Journaux par seconde et par nœud

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

Taille du journal (en Mo) par seconde et par nœud

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

Prérequis

  • Azure CLI version 2.63.0 ou ultérieure.
  • La version de l’extension CLI AKS-preview doit être 7.0.0b4 ou ultérieure si une extension CLI aks-preview est installée.
  • Le schéma de cluster doit être configuré pour ContainerLogV2.
  • Si les limites de ressources par défaut (processeur et mémoire) sur le conteneur DeamonSet ama-logs ne répondent pas à vos exigences de mise à l’échelle des journaux, veuillez contacter le canal de support Microsoft pour augmenter les limites de ressources de votre conteneur ama-logs.

Configuration requise du pare-feu réseau

En plus des exigences de pare-feu réseau pour la supervision d’un cluster Kubernetes, des configurations supplémentaires dans le tableau suivant sont nécessaires pour activer le mode à grande échelle en fonction de votre cloud.

Cloud Point de terminaison Port
Cloud public Azure <dce-name>-<suffix>.<cluster-region-name>-<suffix>.ingest.monitor.azure.com 443
Cloud Microsoft Azure géré par 21Vianet <dce-name>-<suffix>.<cluster-region-name>-<suffix>.ingest.monitor.azure.cn 443
Cloud Azure Government <dce-name>-<suffix>.<cluster-region-name>-<suffix>.ingest.monitor.azure.us 443

Le point de terminaison est le point de terminaison Ingestion des journaux à partir du point de terminaison de collecte de données (DCE) pour la règle de collecte de données (DCR) utilisée par le cluster. Ce DCE est créé lorsque vous activez le mode à grande échelle pour le cluster et commence par le préfixe MSCI-ingest.

Capture d’écran du point de terminaison d’ingestion des journaux pour DCE.

Limites

Les scénarios suivants ne sont pas pris en charge pendant la préversion. Ceux-ci seront traités lorsque la fonctionnalité sera en disponibilité générale.

  • Clusters AKS avec nœuds Arm64
  • Kubernetes compatible avec Azure Arc
  • Proxy HTTP avec certificat approuvé
  • Intégration via le Portail Azure, Azure Policy, Terraform et Bicep
  • Configuration par le biais des paramètres d’analyse dans l’expérience du portail AKS Insights
  • Migration automatique à partir de Container Insights existant

Activer la collecte des journaux à grande échelle

Suivez les deux étapes décrites dans les sections suivantes pour activer le mode à grande échelle pour votre cluster.

Remarque

Le mode de journaux à grande échelle nécessite un point de terminaison de collecte de données (DCE) pour l’ingestion. Un DCE d’ingestion est créé avec le préfixe MSCI-ingest de chaque cluster lorsque vous les intégrez. Si l’étendue de liaison privée Azure Monitor est configurée, la configuration DCE est également créée avec le préfixe MSCI-config.

Mettre à jour la configmap

La première étape consiste à mettre à jour la configmap pour le cluster afin d’indiquer aux pods DeamonSet ama-logs de Container Insights de s’exécuter en mode à grande échelle.

Suivez les instructions de Configurer et déployer ConfigMap pour télécharger et mettre à jour ConfigMap pour le cluster. La seule modification que vous devez apporter pour les journaux à grande échelle consiste à activer agent_settings.high_log_scale sous agent-settings comme illustré :

[agent_settings.high_log_scale] 
  enabled = true 

Après avoir appliqué cette configmap, les pods ama-logs-* sont redémarrés automatiquement et configurent les pods DaemonSet ama-logs pour qu’ils s’exécutent en mode à grande échelle.

Activer le mode de mise à grande échelle pour l’extension Supervision

Activez l’extension Supervision avec le mode à grande échelle à l’aide des commandes Azure CLI suivantes pour activer le mode de journaux à grande échelle pour l’extension Supervision en fonction de votre configuration AKS.

Remarque

Au lieu de l’interface CLI, vous pouvez utiliser un modèle ARM pour activer le mode à grande échelle pour l’extension Supervision. Consultez Activer Container Insights pour obtenir des conseils sur l’activation de Container Insights à l’aide d’un modèle ARM. Pour activer le mode à grande échelle, utilisez Microsoft-ContainerLogV2-HighScale plutôt Microsoft-ContainerLogV2 que dans le paramètre streams, comme décrit dans Configurer DCR avec des modèles ARM.

Cluster AKS existant

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

Cluster privé AKS existant

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> 

Nouveau cluster AKS

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

Nouveau cluster privé AKS

Pour plus d’informations sur la création d’un cluster privé AKS, consultez Créer un cluster privé Azure Kubernetes Service (AKS). Utilisez les paramètres supplémentaires --enable-high-scale-mode et --ampls-resource-id pour configurer le mode de journaux à grande échelle avec l’ID de ressource d’étendue de liaison privée Azure Monitor.

Migration

Si Container Insights est déjà activé pour votre cluster, vous devez le désactiver, puis le réactiver avec le mode à grande échelle.

  • Étant donné que le mode à grande échelle utilise un autre pipeline de données, vous devez vous assurer que les points de terminaison de pipeline ne sont pas bloqués par un pare-feu ni d’autres connexions réseau.
  • Le mode à grande échelle nécessite un point de terminaison de collecte de données (DCE) pour l’ingestion en plus de la DCR standard pour la collecte de données. Si vous avez créé des DCR qui utilisent Microsoft.ContainerLogV2, vous devez le remplacer Microsoft.ContainerLogV2-HighScale ou les données seront dupliquées. Vous devez également créer un DCE pour l’ingestion et le lier à la DCR si elle n’en utilise pas déjà un. Reportez-vous à l’intégration de Container Insights via Azure Resource Manager pour obtenir des informations de référence sur les dépendances.

Étapes suivantes