Surveillance et journalisation des données

S’applique à : AKS sur Azure Stack HCI 22H2, AKS sur Windows Server

Cet article explique comment surveiller votre déploiement Azure Kubernetes Service (AKS) et collecter des données de journalisation dans AKS activé par Azure Arc. Vous découvrez comment configurer et accéder à la surveillance locale à l’aide Prometheus de et Graphana, et comment collecter et afficher les journaux à l’aide Elasticsearchde , Fluent Bitet Kibana (EFK).

Deux types de solutions de surveillance et de journalisation sont disponibles, comme décrit dans le tableau suivant :

Solution Connectivité Azure Prise en charge et service Coût Déploiement
Azure Monitor Nécessite la connexion du cluster Kubernetes à Azure à l’aide d’Azure Arc pour Kubernetes. Prise en charge et maintenance complètes de Microsoft. Nécessite l’inscription au service Azure Monitor. Utilisez Azure Arc pour la surveillance des clusters.
Supervision et journalisation locales Ne nécessite pas de connectivité Azure. Pris en charge en tant que logiciel open source par Microsoft (sans contrat de support ou contrat SLA), la communauté et/ou les fournisseurs externes. Dépendant du fournisseur. Piloté par le client. Consultez Surveiller les clusters à l’aide d’une surveillance locale.

Pour utiliser Azure Monitor avec des clusters Kubernetes, consultez la vue d’ensemble d’Azure Monitor.

Utiliser une analyse locale

Il est essentiel de surveiller l’intégrité, les performances et l’utilisation des ressources des nœuds et charges de travail du plan de contrôle sur votre cluster lors de l’exécution d’applications en production. La solution de supervision recommandée comporte les deux outils suivants :

  • Prometheus est un kit de ressources de surveillance et d’alerte que vous pouvez utiliser pour surveiller les charges de travail conteneurisées. Prometheus utilise différents types de collecteurs et d’agents pour collecter des métriques et les stocker dans une base de données, où vous pouvez interroger les données et consulter des rapports. AKS Arc facilite le déploiement de Prometheus, qui est décrit plus loin dans cet article.
  • Grafana est un outil utilisé pour afficher, interroger et visualiser des métriques dans les tableaux de bord Grafana. Vous pouvez également configurer Grafana de manière à utiliser Prometheus comme source de données. Vous devez disposer de votre propre copie sous licence de Grafana avec AKS Arc.

Présentation de la solution de supervision

Dans le cadre de la solution Prometheus dans AKS activée par Arc, les composants suivants sont déployés et configurés automatiquement :

Le déploiement est basé sur le graphique Helm kube-Prometheus-stack disponible publiquement, qui est étendu pour prendre en charge l’exportateur Windows et sécurise le raclage des métriques entre Prometheus et les agents. Une fois la solution Prometheus déployée, l’exportateur node s’exécute sur chaque nœud Linux, et l’exportateur Windows s’exécute sur chaque nœud Windows.

Notes

Étant donné que les composants des métriques d’état Prometheus, Prometheus et Kube sont uniquement pris en charge sur Linux, vous devez provisionner au moins un nœud Linux dans votre cluster AKS pour déployer cette solution.

Les objets et les points de terminaison capturés par la solution Prometheus incluent les éléments suivants :

  • Métriques d’état de Kube pour collecter diverses métriques fournies par Kubernetes
  • Serveur d’API Kubernetes
  • Kubelet
  • Programme d’exportation de nœud pour collecter des métriques pour les nœuds Linux
  • Programme d’exportation de Windows pour collecter des métriques pour les nœuds Windows

Pour afficher les tableaux de bord Grafana disponibles dans AKS Arc, consultez Tableaux de bord Grafana disponibles dans AKS Arc.

Déployer une solution de supervision à l’aide de PowerShell

Cette section décrit les deux options que vous pouvez utiliser pour déployer la surveillance sur un cluster de charges de travail.

Option 1 : Déployer la solution de supervision lors de la création du cluster de charges de travail

Pour activer la supervision, fournissez le -enableMonitoring paramètre lorsque vous utilisez New-AksHciCluster pour créer le cluster de charge de travail, comme illustré dans l’exemple suivant :

New-AksHciCluster -name mynewcluster -enableMonitoring

La surveillance est installée avec la configuration par défaut suivante :

  • La taille du volume persistant approvisionné de manière à stocker les métriques (storageSizeGB) est de 100 Go.
  • La durée de rétention des métriques collectées (retentionTimeHours) est de 240 heures (ou 10 jours).

Option 2 : Déployer la solution de supervision sur un cluster de charges de travail existant

Exécutez la commande Install-AksHciMonitoring pour déployer la solution de supervision sur un cluster de charge de travail existant, comme suit :

Install-AksHciMonitoring -Name mycluster -storageSizeGB 100 -retentionTimeHours 240

Le -storageSizeGB paramètre définit la taille du volume persistant approvisionné pour stocker les métriques, et le -retentionTimeHours paramètre définit la durée de conservation des métriques collectées.

La solution de supervision est installée dans un espace de noms distinct appelé monitoring et utilise un StorageClass appelé monitoring-sc. Prometheus est exposé sur un point de terminaison interne qui n’est accessible qu’au sein du cluster à l’adresse http://akshci-monitoring-prometheus-svc.monitoring:9090.

Désinstaller la solution de supervision à l’aide de PowerShell

Exécutez la Uninstall-AksHciMonitoring commande PowerShell pour désinstaller la solution de supervision AKS Arc, comme suit :

Uninstall-AksHciMonitoring -Name <target cluster name>

Le processus de désinstallation supprime tout, y compris l’espace de noms, la classe StorageClass et les données et métriques réelles du volume persistant.

Déployer Grafana et le configurer pour utiliser Prometheus

Vous pouvez suivre n’importe quelle aide pour déployer Grafana qui est disponible publiquement. Vous pouvez également consulter les conseils de déploiement de Microsoft pour utiliser Grafana, qui explique comment déployer et configurer Grafana pour le connecter à un instance AKS Prometheus. Cette page GitHub explique également comment ajouter des tableaux de bord Grafana que Microsoft met à disposition pour AKS activés par Arc.

Journalisation locale

La journalisation est capitale dans la résolution des problèmes et les diagnostics. La solution de journalisation dans AKS Arc est basée sur Elasticsearch, Fluent Bit et Kibana (EFK). Ces composants sont tous déployés en tant que conteneurs :

  • Fluent Bit est le processeur de journaux et le redirecteur qui collecte les données et les journaux de différentes sources. Il les met ensuite en forme, les unifie et les stocke dans Elasticsearch.
  • Elasticsearch est un moteur de recherche et d’analytique distribué, capable de stocker de manière centralisée les journaux des recherches rapides et de l’analytique données. 
  • Kibana fournit des visualisations interactives sur un tableau de bord web. Cet outil vous permet d’afficher et d’interroger les journaux stockés dans Elasticsearch, puis vous pouvez les visualiser dans des graphiques et des tableaux de bord.

Pour configurer une solution de journalisation locale, consultez les étapes suivantes qui permettent de configurer la journalisation pour accéder à Kibana. Cet article comprend tous les composants nécessaires pour collecter, agréger et interroger les journaux de conteneurs sur le cluster.

Pour connaître les étapes de configuration avancée, consultez la journalisation Windows.

Étapes suivantes