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 Elasticsearch
de , Fluent Bit
et 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 :
- Opérateur Prometheus
- Prometheus
- Métriques d’état Kube
- Programme d'exportation de nœuds
- Programme d'exportation de Windows
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.