Journalisation et surveillance

GKE sur VMware inclut plusieurs options de journalisation et de surveillance des clusters, y compris des services gérés basés sur le cloud, des outils Open Source et une compatibilité validée avec des solutions commerciales tierces. Ce document décrit ces options et fournit des conseils de base pour sélectionner la solution adaptée à votre environnement.

Options pour GKE sur VMware

Vous disposez de plusieurs options de journalisation et de surveillance pour votre environnement GKE sur VMware:

Cloud Logging et Cloud Monitoring

Google Cloud Observability (anciennement Stackdriver) est la solution d'observabilité intégrée à Google Cloud. Elle offre une solution de journalisation entièrement gérée, la collecte de métriques, la surveillance, la création de tableaux de bord et les alertes. Cloud Monitoring surveille les clusters GKE sur VMware de la même manière que les clusters GKE basés dans le cloud.

Vous pouvez configurer les agents intégrés au cluster pour le champ d'application de la surveillance et de la journalisation, ainsi que pour le niveau de métriques collecté :

  • Le champ d'application de la journalisation et de la surveillance peut être défini pour les composants système uniquement (par défaut), ou pour les composants système et les applications.
  • Le niveau de métriques collectées peut être configuré pour un ensemble optimisé de métriques ou pour des métriques complètes.

Pour en savoir plus, consultez la section Configurer les agents Logging et Monitoring pour Anthos Clusters on VMware.

Cloud Logging et Cloud Monitoring conviennent parfaitement aux clients qui recherchent une solution unique et facile à configurer, puissante et basée sur le cloud. Nous vous recommandons vivement d'utiliser Logging et Monitoring lorsque vous exécutez des charges de travail uniquement sur GKE sur VMware, ou sur GKE et GKE sur VMware. Pour les applications dont les composants s'exécutent sur GKE sur VMware et l'infrastructure sur site traditionnelle, vous pouvez envisager d'autres solutions pour une vue de bout en bout de ces applications.

Solutions tierces

Google a collaboré avec plusieurs fournisseurs tiers de solutions de journalisation et de surveillance pour que leurs produits fonctionnent bien avec GKE sur VMware. Ces fournisseurs incluent notamment Datadog, Elastic et Splunk. D'autres solutions tierces validées seront ajoutées ultérieurement.

Pour en savoir plus sur l'utilisation de solutions tierces avec GKE sur VMware, consultez les pages suivantes:

Fonctionnement de la journalisation et de la surveillance pour GKE sur VMware

Les agents Logging et Monitoring sont installés et activés dans chaque cluster dès la création d'un cluster d'administrateur ou d'utilisateur. Les agents collectent des données concernant les composants système, à savoir la portée que vous pouvez configurer.

Pour afficher les données collectées dans la console Google Cloud, vous devez configurer le projet Google Cloud qui stocke les journaux et les métriques que vous souhaitez afficher.

Les agents de journalisation et de surveillance de chaque cluster incluent les éléments suivants :

  • Agent de métriques GKE (gke-metrics-agent) Un DaemonSet qui envoie des métriques à l'API Cloud Monitoring.

  • Transfert de journaux (stackdriver-log-forwarder). Un daemonset Fluent Bit qui transmet les journaux de chaque machine à Cloud Logging. Le transfert de journaux met en mémoire tampon les entrées de journal sur le nœud localement et les renvoie pendant quatre heures maximum. Si la mémoire tampon est saturée ou si le service de transfert de journaux ne peut pas atteindre l'API Cloud Logging pendant plus de quatre heures, les journaux sont supprimés.

  • Agent global de métriques GKE (gke-metrics-agent-global). Un déploiement qui envoie des métriques à l'API Cloud Monitoring.

  • Agent de métadonnées (stackdriver-metadata-agent). Un déploiement qui envoie des métadonnées pour des ressources Kubernetes telles que des pods, des déploiements ou des nœuds à l'API Stackdriver Resource Metadata. Ces données sont utilisées pour enrichir les requêtes de métriques en vous permettant d'effectuer des requêtes par nom de déploiement, par nom de nœud ou même par nom de service Kubernetes.

  • kube-state-metrics : un déploiement qui écoute le serveur d'API et génère des métriques sur les états des objets.

  • node-exporter : DaemonSet qui génère des métriques sur le matériel et l'OS.

Vous pouvez afficher tous les agents de déploiement en exécutant la commande suivante :

  kubectl --kubeconfig CLUSTER_KUBECONFIG get deployments -l "managed-by=stackdriver" --all-namespaces

CLUSTER_KUBECONFIG représente le chemin d'accès au fichier kubeconfig du cluster.

La sortie de la commande ressemble à ceci :

gke-metrics-agent-global                      1/1     Running   0   4h31m
stackdriver-metadata-agent-cluster-level      1/1     Running   0   4h31m

Vous pouvez afficher tous les agents DaemonSet en exécutant la commande suivante :

  kubectl --kubeconfig CLUSTER_KUBECONFIG get daemonsets -l "managed-by=stackdriver" --all-namespaces

La sortie de la commande ressemble à ceci :

gke-metrics-agent                             1/1     Running   0   4h31m
stackdriver-log-forwarder                     1/1     Running   0   4h31m

Configurer des agents de journalisation et de surveillance pour GKE sur VMware

Les agents installés avec GKE sur VMware collectent des données sur les composants du système, en fonction de vos paramètres et de votre configuration, dans le but de résoudre les problèmes liés à vos clusters.

Composants système uniquement (champ d'application par défaut)

Lors de l'installation, les agents collectent les journaux et les métriques, y compris les détails des performances (par exemple, l'utilisation du processeur et de la mémoire) et les métadonnées similaires pour les composants système fournis par Google. Ceux-ci incluent toutes les charges de travail du cluster d'administrateur et, pour les clusters d'utilisateur, les charges de travail dans les espaces de noms kube-system, gke-system, gke-connect, istio-system et config-management-system. Vous pouvez configurer ou désactiver les agents comme décrit dans les sections suivantes.

Le champ d'application des journaux et des métriques collectés peut être étendu à des applications spécifiques. Pour savoir comment activer la journalisation et la surveillance des applications, consultez la section Activer Logging et Monitoring pour les applications utilisateur.

Métriques optimisées (métriques par défaut)

Par défaut, les agents de métriques exécutés dans le cluster collectent et transmettent un ensemble optimisé de métriques de conteneur, kubelet et kube-state-metrics à Google Cloud Observability (anciennement Stackdriver).

Moins de ressources sont nécessaires pour collecter cet ensemble optimisé de métriques, ce qui améliore les performances globales et l'évolutivité. Cela est particulièrement important pour les métriques au niveau du conteneur et du kube, en raison de la grande quantité d'objets à surveiller.

Pour désactiver les métriques kube-state-metrics optimisées (non recommandé), définissez le champ optimizedMetrics sur false dans votre ressource personnalisée Stackdriver. Pour en savoir plus sur la modification de votre ressource personnalisée Stackdriver, consultez la section Configurer les ressources des composants Stackdriver. Toutes les métriques GKE sur VMware, y compris celles exclues par défaut, sont décrites dans la section Métriques GKE Enterprise.

Activer et désactiver Stackdriver

Vous pouvez activer ou désactiver les agents de journalisation et de surveillance entièrement en activant ou en désactivant la ressource personnalisée Stackdriver. Cette fonctionnalité est disponible en version d'évaluation.

Avant de désactiver les agents Logging et Monitoring, consultez la page d'assistance pour en savoir plus sur les conséquences que cela peut avoir sur les contrats de niveau de service de l'assistance Google Cloud.

Les agents Logging et Monitoring capturent les données stockées localement, suivant votre configuration de stockage et de conservation. Les données sont dupliquées dans le projet Google Cloud spécifié lors de l'installation, à l'aide d'un compte de service autorisé à écrire des données dans ce projet. Vous pouvez désactiver ces agents à tout moment, comme décrit précédemment.

Vous pouvez également gérer et supprimer les données que les agents Logging et Monitoring ont envoyées à Cloud Logging et Cloud Monitoring. Pour en savoir plus, consultez la documentation Cloud Monitoring.

Configuration requise pour Logging et Monitoring

Pour afficher les données Cloud Logging et Cloud Monitoring, vous devez configurer le projet Google Cloud qui stocke les journaux et les métriques que vous souhaitez afficher. Ce projet Google Cloud est appelé projet de journalisation et de surveillance.

  1. Activez les API suivantes dans votre projet de journalisation et de surveillance :

  2. Attribuez les rôles IAM suivants au compte de service logging-monitoring sur votre projet correspondant.

    • logging.logWriter
    • monitoring.metricWriter
    • stackdriver.resourceMetadata.writer
    • monitoring.dashboardEditor
    • opsconfigmonitoring.resourceMetadata.writer

Tarification

L'utilisation des journaux système et des métriques de GKE Enterprise est gratuite. Les journaux du plan de contrôle, les métriques du plan de contrôle et un sous-ensemble sélectionné de métriques d'état Kube sont activés par défaut pour les clusters GKE sur Google Cloud qui sont enregistrés au moment de la création du cluster dans un projet GKE Enterprise. Les journaux du plan de contrôle entraînent des frais Cloud Logging, tandis que les métriques activées par défaut sont incluses sans frais supplémentaires.

Pour obtenir la liste des journaux et métriques GKE inclus, consultez les sections Journaux disponibles et Métriques disponibles.

Dans un cluster GKE sur VMware, les journaux système et les métriques de GKE Enterprise incluent les éléments suivants:

  • Journaux et métriques de tous les composants d'un cluster d'administrateur
  • Journaux et métriques des composants de ces espaces de noms dans un cluster d'utilisateur : kube-system, gke-system, gke-connect, knative-serving, istio-system, monitoring-system, config-management-system, gatekeeper-system, cnrm-system

Pour en savoir plus, consultez la page Tarifs de l'observabilité Google Cloud.

Pour en savoir plus sur l'attribution de crédits pour les métriques Cloud Logging, contactez le service commercial au sujet des tarifs.

Étapes suivantes