Modifier

Share via


Monitoring et journalisation Kubernetes

Azure Kubernetes Service (AKS)
Azure Log Analytics
Azure Monitor

Cet article effectue une comparaison du monitoring Azure Kubernetes Service (AKS) et Amazon Elastic Kubernetes Service (Amazon EKS). Il vous conseille sur différentes options possibles pour superviser et gérer les journaux d’un cluster AKS et de ses charges de travail.

Notes

Cet article fait partie d’une série d’articles destinée à aider les professionnels qui connaissent Amazon EKS à comprendre le fonctionnement d’AKS.

Monitoring et journalisation Amazon EKS

Comme tous les services Kubernetes, EKS a deux composants principaux : le plan de contrôle et les nœuds Worker. Chaque couche a des fonctionnalités spécifiques.

Monitoring du cluster et du plan de contrôle Amazon EKS

Amazon EKS s’intègre à Amazon CloudWatch Logs pour permettre la journalisation et le monitoring du plan de contrôle Amazon EKS. Cette intégration n’est pas activée par défaut, mais lorsqu’elle est configurée, elle permet de collecter les données suivantes :

  • Serveur d’API et appels d’API.
  • Journaux d’audit et interactions utilisateur.
  • Journaux d’Authenticator.
  • Journaux de contrôleur et de Scheduler.

Amazon EKS expose les métriques du plan de contrôle au point de terminaison /metrics, au format texte Prometheus. CloudWatch Container Insights peut collecter et stocker les métriques Prometheus. Vous pouvez déployer et autogérer Prometheus sur votre cluster EKS, ou utiliser Amazon Managed Service for Prometheus.

Amazon EKS s’intègre également à Amazon Web Services (AWS) CloudTrail pour permettre le suivi des actions et des appels d’API. Pour plus d’informations, consultez Journalisation des appels d’API Amazon EKS avec AWS CloudTrail.

Monitoring des charges de travail Amazon EKS

CloudWatch Container Insights peut collecter et agréger des métriques et des journaux à partir d’applications conteneurisées déployées dans EKS. Vous pouvez implémenter Container Insights sur Amazon EKS avec une version conteneurisée de l’agent CloudWatch, ou en utilisant la distribution AWS Distro for OpenTelemetry en tant que DaemonSet. Vous pouvez envoyer les journaux avec FluentBit.

Monitoring et journalisation AKS

Comme les autres ressources Azure, AKS génère des métriques de plateforme et journaux de ressources qui vous aident à superviser son intégrité et ses performances de base.

Diagram showing AKS logging and monitoring.

Téléchargez un fichier Visio de cette architecture.

Azure Monitor

AKS s’intègre en mode natif à Azure Monitor. Azure Monitor stocke les métriques et les journaux dans un emplacement central appelé espace de travail Log Analytics. Ces données sont traitées et analysées afin de fournir des insights et des alertes. Pour plus d’informations, consultez Superviser Azure Kubernetes Service (AKS) avec Azure Monitor.

Container Insights est la fonctionnalité d’Azure Monitor qui collecte, indexe et stocke les données générées par votre cluster AKS. Vous pouvez configurer Container Insights pour superviser les clusters Kubernetes managés qui sont hébergés sur AKS et d’autres configurations de cluster. Container Insights peut superviser l’intégrité et les performances d’AKS avec une visualisation adaptée aux environnements Kubernetes. Comme pour EKS, l’activation de Container Insights pour votre cluster AKS entraîne le déploiement d’une version conteneurisée de l’agent Log Analytics, qui est responsable de l’envoi des données à votre espace de travail Log Analytics.

Microsoft Sentinel

Microsoft Sentinel fournit une analytique de sécurité intelligente et une veille des menaces à l’échelle de l’entreprise. Avec Microsoft Sentinel, vous disposez d’une solution unique pour la détection des attaques, la visibilité des menaces, la chasse proactive et la réponse aux menaces.

Microsoft Sentinel doit être connecté à votre AKS. Ce connecteur vous permet de diffuser en streaming vos journaux de diagnostic AKS (Azure Kubernetes Service) dans Microsoft Sentinel, ce qui vous permet de superviser continuellement l’activité dans toutes vos instances.

Une fois que vous avez connecté vos sources de données à Microsoft Sentinel, vous pouvez visualiser et monitorer les données en utilisant les workbooks Microsoft Sentinel et Azure Monitor, qui offrent une grande souplesse dans la création de tableaux de bord personnalisés.

Monitoring du cluster AKS et de ses charges de travail

Un déploiement AKS peut se diviser en plusieurs parties : composants au niveau du cluster, composants AKS managés, objets et charges de travail Kubernetes, applications et ressources externes. Le tableau suivant présente une stratégie courante pour le monitoring d’un cluster AKS et des applications de charge de travail. Chaque niveau a des exigences de monitoring distinctes.

Level Description Exigences de supervision
Composants au niveau du cluster Groupes de machines virtuelles identiques, représentés de façon abstraite par des nœuds et des pools de nœuds AKS État des nœuds et utilisation des ressources, dont le processeur, la mémoire, le disque et le réseau
Composants AKS managés Composants du plan de contrôle AKS, dont les serveurs d’API, le contrôleur cloud et kubelet Journaux et métriques du plan de contrôle issus de l’espace de noms kube-system
Objets et charges de travail Kubernetes Objets Kubernetes tels que les déploiements, les conteneurs et les jeux de réplicas Utilisation et échecs des ressources
Applications Charges de travail d’applications exécutées sur le cluster AKS Monitoring spécifique de l’architecture, mais comprenant les journaux des applications et les transactions des services
Externe Ressources externes qui ne font pas partie d’AKS, mais qui sont requises pour la scalabilité et la gestion du cluster Propre à chaque composant
  • Composants au niveau du cluster : vous pouvez utiliser les vues et rapports Container Insights existants pour superviser les composants au niveau du cluster et ainsi mieux comprendre leur intégrité, leur préparation, leurs performances, leur utilisation des ressources processeur et mémoire, et les tendances.

  • Composants AKS managés : vous pouvez utiliser Metrics Explorer pour voir le compteur des requêtes en cours. Cette vue comprend la latence des requêtes et le temps de traitement des files d’attente de travaux.

  • Objets et charges de travail Kubernetes : vous pouvez utiliser les vues et rapports Container Insights existants pour superviser le déploiement, les contrôleurs, les pods et les conteneurs. Utilisez les vues Nœuds et Contrôleurs pour examiner l’intégrité et les performances des pods s’exécutant sur les nœuds et les contrôleurs, ainsi que leur consommation des ressources processeur et mémoire.

    Dans la vue Conteneurs de Container Insights, vous pouvez examiner l’intégrité et les performances des conteneurs, ou sélectionner un conteneur particulier afin de superviser ses événements et journaux en temps réel. Pour plus de détails sur cette vue et l’analyse de l’intégrité et des performances des conteneurs, consultez Superviser les performances de votre cluster Kubernetes avec Container Insights.

  • Applications : vous pouvez utiliser Application Insights pour superviser les applications qui s’exécutent sur AKS et d’autres environnements. Application Insights est un outil de gestion des performances des applications qui prend en charge de nombreux langages de programmation. Selon vos besoins, vous pouvez instrumenter votre code d’application pour capturer les requêtes, les traces, les journaux, les exceptions, les métriques personnalisées et les transactions de bout en bout, puis envoyer toutes ces données à Application Insights. Si vous avez une application Java, vous pouvez implémenter le monitoring sans instrumenter votre code. Pour plus d’informations, consultez Monitoring d’applications sans instrumentation pour Kubernetes.

  • Composants externes : vous pouvez superviser les composants externes tels que le maillage de service, l’entrée et la sortie en utilisant Prometheus et Grafana ou d’autres outils. Vous pouvez utiliser les fonctionnalités d’Azure Monitor pour superviser n’importe quelle plateforme PaaS (platform as a service) que vos applications de charge de travail utilisent, comme les bases de données et d’autres ressources Azure.

Solutions de supervision tierces

Vous pouvez configurer des solutions de supervision tierces comme Grafana ou Prometheus dans vos pools de nœuds AKS.

  • Pour Grafana, Grafana Labs fournit un tableau de bord qui expose des vues des métriques de serveur d’API critiques. Vous pouvez utiliser ce tableau de bord sur votre serveur Grafana existant ou configurer un nouveau serveur Grafana dans Azure. Pour plus d’informations, consultez Superviser vos services Azure dans Grafana.

  • Prometheus est une solution open source populaire pour la supervision des métriques, fournie dans le Cloud Native Computing Foundation. Vous pouvez intégrer Prometheus à Azure Monitor pour éviter d’avoir à configurer et à gérer un serveur Prometheus avec un magasin.

    Container Insights offre une expérience d’intégration transparente pour collecter des métriques Prometheus. Vous pouvez exposer le point de terminaison des métriques Prometheus via vos exportateurs ou vos applications pod pour que l’agent conteneurisé de Container Insights soit en mesure de scraper les métriques. Container Insights apporte et complète les fonctionnalités de monitoring AKS de bout en bout, dont la collecte de journaux, que Prometheus ne fournit pas en tant qu’outil autonome. Pour plus d’informations, consultez Configurer le scraping des métriques Prometheus avec Container Insights.

Coûts du monitoring AKS

Le modèle tarifaire d’Azure Monitor repose principalement sur la quantité de données qui sont ingérées par jour dans votre espace de travail Log Analytics. Le coût varie en fonction du plan et des périodes de conservation que vous sélectionnez.

Avant d’activer Container Insights, estimez les coûts, et comprenez comment contrôler l’ingestion des données et les coûts associés. Pour plus de conseils, consultez Estimation des coûts pour le monitoring de votre cluster AKS.

Contributeurs

Cet article est géré par Microsoft. Il a été écrit à l’origine par les contributeurs suivants.

Auteurs principaux :

Autres contributeurs :

Pour afficher les profils LinkedIn non publics, connectez-vous à LinkedIn.

Étapes suivantes