Surveillance et journalisation des données
S’applique à : AKS sur Azure Local 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ées par Azure Arc. Vous découvrez comment configurer et accéder à la supervision locale à l’aide de Prometheus
et de Graphana
, et comment collecter et afficher des journaux à l’aide de Elasticsearch
, de Fluent Bit
et de Kibana
(EFK).
Deux types de solutions de surveillance et de journalisation sont disponibles, comme décrit dans le tableau suivant :
Solution | Connectivité Azure | Support 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 par Microsoft. | Nécessite l’inscription au service Azure Monitor. | Utilisez Azure Arc pour surveiller les clusters |
Surveillance et enregistrement sur site | Ne nécessite pas de connectivité Azure. | Pris en charge en tant que logiciels open source par Microsoft (sans contrat de support ni contrat SLA), la communauté et/ou les fournisseurs externes. | Dépendant du fournisseur. | Centré sur les clients. Consultez la rubrique Surveiller les clusters à l’aide de la surveillance sur site. |
Pour utiliser Azure Monitor avec des clusters Kubernetes, consultez la vue d’ensemble d’Azure Monitor.
Utiliser la surveillance 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 comprend 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 fonctionne avec 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 afficher les 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 les métriques sur les tableaux de bord Grafana. Vous pouvez également configurer Grafana pour utiliser Prometheus comme source de données. Vous devez disposer de votre propre copie sous licence de Grafana avec AKS Arc.
Vue d’ensemble de la solution de supervision
Dans le cadre de la solution Prometheus dans AKS activé par Arc, les composants suivants sont déployés et configurés automatiquement :
Le déploiement est basé sur le chart Helm Kube-Prometheus-stack qui est ouvert au public et qui est étendu pour prendre en charge Windows Exporter et sécurise le scraping des métriques entre Prometheus et les agents. Une fois la solution Prometheus déployée, l’exportateur de nœuds s’exécute sur chaque nœud Linux et l’exportateur Windows s’exécute sur chaque nœud Windows.
Remarque
Étant donné que les composants opérateur Prometheus, Prometheus et métriques d'état de Kube ne sont pris en charge que sous 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
- Exportateur de nœuds pour collecter des métriques pour les nœuds Linux
- Exportateur Windows pour collecter des métriques pour les nœuds Windows
Pour afficher les tableaux de bord Grafana disponibles dans AKS Arc, veuillez consulter la section 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 charge de travail.
Option 1 : Déployer la solution de surveillance lors de la création du cluster de charge de travail
Pour activer la surveillance, fournissez le paramètre -enableMonitoring
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é pour 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 charge 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 paramètre -storageSizeGB
définit la taille du volume persistant approvisionné pour stocker les métriques, et le paramètre -retentionTimeHours
définit la durée pendant laquelle les métriques collectées sont conservées.
La solution de supervision est installée dans un espace de noms distinct appelé monitoring
et utilise une classe de stockage appelée 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 commande Uninstall-AksHciMonitoring
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, 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 quelles directives pour déployer Grafana qui sont disponibles publiquement. Vous pouvez également consulter les conseils de déploiement de Microsoft pour utiliser Grafana, qui détaille le déploiement et la configuration de Grafana pour le connecter à une 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 essentielle pour 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 et le transmetteur de journaux qui collecte les données et les journaux provenant de différentes sources. Il met ensuite en forme, 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 d’activité pour les recherches rapides et l’analytique des 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 de les visualiser via 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 inclut tous les composants requis pour collecter, agréger et interroger les journaux de conteneur sur le cluster.
Pour connaître les étapes de configuration avancée, consultez la journalisation Windows.