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
.
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 remplacerMicrosoft.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
- Partagez tout commentaire ou problème lié au mode à grande échelle à l’adresse https://aka.ms/cihsfeedback.