Configurer la surveillance automatique des applications pour les charges de travail


Vous pouvez gagner du temps et limiter les efforts de configuration et de maintenance des applications de surveillance exécutées sur Google Kubernetes Engine (GKE) en activant la surveillance automatique des applications pour les charges de travail compatibles.

Fonctionnement de la surveillance automatique des applications

Lorsque vous activez la surveillance automatique des applications, GKE détecte les instances déployées des charges de travail compatibles et déploie des ressources PodMonitoring pour chaque instance de charge de travail détectée.

La surveillance automatique des applications installe également des tableaux de bord prêts à l'emploi pour surveiller les applications. Les métriques sont collectées par Google Cloud Managed Service pour Prometheus.

Charges de travail compatibles

La surveillance automatique des applications est compatible avec les charges de travail suivantes:

Pour en savoir plus sur les autres solutions d'observabilité prêtes à l'emploi que vous pouvez configurer manuellement, consultez la section Présentation de la configuration de l'exportateur dans la documentation Google Cloud Observability.

Avant de commencer

Avant de commencer, effectuez les tâches suivantes :

  • Activez l'API Google Kubernetes Engine.
  • Activer l'API Google Kubernetes Engine
  • Si vous souhaitez utiliser Google Cloud CLI pour cette tâche, installez puis initialisez gcloud CLI. Si vous avez déjà installé gcloud CLI, assurez-vous de disposer de la dernière version en exécutant la commande gcloud components update.

Exigences concernant la surveillance automatique des applications

Pour activer la surveillance automatique des applications, votre cluster GKE doit répondre aux exigences suivantes:

  • Votre cluster doit exécuter GKE 1.28 ou une version ultérieure.
  • Vous devez disposer de la version 492.0.0 ou ultérieure de gcloud CLI.
  • La collecte gérée de Google Cloud Managed Service pour Prometheus doit être activée sur votre cluster. La collecte gérée Google Cloud Managed Service pour Prometheus est activée par défaut sur les nouveaux clusters.

Activer la surveillance automatique des applications

Vous pouvez activer la surveillance automatique des applications pour les clusters GKE nouveaux ou existants à l'aide de la console Google Cloud , de la Google Cloud CLI ou de l'API GKE.

L'extraction des métriques peut prendre jusqu'à 10 minutes pour les charges de travail compatibles après le déploiement d'une nouvelle charge de travail ou l'activation de la surveillance automatique des applications pour un cluster.

Console

Pour activer la surveillance automatique des applications pour un nouveau cluster, procédez comme suit:

  1. Accédez à la page Google Kubernetes Engine dans la console Google Cloud .

    Accéder à Google Kubernetes Engine

  2. Cliquez sur Créer, puis sur Configurer dans la section Standard ou Autopilot.

  3. Pour un cluster en mode Autopilot, cliquez sur Paramètres avancés. Pour un cluster en mode Standard, cliquez sur Fonctionnalités.

  4. Dans la section Opérations, sélectionnez Activer la surveillance automatique des applications.

  5. Cliquez sur Créer.

Vous pouvez également activer la surveillance automatique des applications pour un cluster existant en mettant à jour le champ Enable automatic application monitoring (Activer la surveillance automatique des applications) dans la section Operations (Opérations) de l'onglet Cluster Details (Détails du cluster).

gcloud

Pour activer la surveillance automatique des applications pour un nouveau cluster, utilisez l'option --auto-monitoring-scope=ALL:

gcloud beta container clusters create-auto CLUSTER_NAME \
    --location=COMPUTE_LOCATION \
    --auto-monitoring-scope=ALL

Remplacez les éléments suivants :

Vous pouvez également mettre à jour un cluster existant à l'aide de la commande gcloud beta container clusters update.

API

Pour activer la surveillance automatique des applications pour un nouveau cluster, envoyez une requête POST à la méthode clusters.create:

POST https://container.googleapis.com/v1/projects/PROJECT_ID/locations/COMPUTE_LOCATION/clusters

{
  "cluster": {
    "name": CLUSTER_NAME
    "initialNodeCount": 1,
    "monitoringConfig": {
      "managedPrometheusConfig": {
        "enabled": true,
        "autoMonitoringConfig": {
          "scope": ALL
        }
      }
    }
  }
}

Remplacez les éléments suivants :

  • PROJECT_ID: ID de votre Google Cloud projet.
  • CLUSTER_NAME : nom du nouveau cluster
  • COMPUTE_LOCATION : emplacement Compute Engine du cluster.

Déterminer si la surveillance automatique des applications est activée

Vous pouvez déterminer si la surveillance automatique des applications est activée ou désactivée pour un cluster à l'aide de la console Google Cloud , de la gcloud CLI ou de l'API GKE.

Console

Procédez comme suit :

  1. Accédez à la page Google Kubernetes Engine dans la console Google Cloud :

    Accéder à Google Kubernetes Engine

  2. Dans la liste des clusters, cliquez sur le nom du cluster.

  3. Dans la section Fonctionnalités, le champ Surveillance automatique des applications indique si la surveillance automatique des applications est activée ou désactivée.

gcloud

Décrivez le cluster :

gcloud container clusters describe CLUSTER_NAME \
    --location=COMPUTE_LOCATION \
    --format='value(monitoringConfig.managedPrometheusConfig.autoMonitoringConfig.scope)'

Remplacez les éléments suivants :

Le résultat ressemble à ce qui suit :

autoMonitoringConfig.scope: ALL

Dans la sortie, si la valeur du champ autoMonitoringConfig.scope est ALL, la surveillance automatique des applications est activée. Sinon, la surveillance automatique des applications est désactivée.

API

Envoyez une requête GET à la méthode clusters.get:

GET https://container.googleapis.com/v1/projects/PROJECT_ID/locations/COMPUTE_LOCATION/clusters/CLUSTER_NAME

Remplacez les éléments suivants :

  • PROJECT_ID: ID de votre Google Cloud projet.
  • CLUSTER_NAME : nom du cluster.
  • COMPUTE_LOCATION : emplacement Compute Engine du cluster.

Le résultat ressemble à ce qui suit :

autoMonitoringConfig.scope: ALL

Dans la sortie, si la valeur du champ autoMonitoringConfig.scope est ALL, la surveillance automatique des applications est activée. Sinon, la surveillance automatique des applications est désactivée.

Afficher le tableau de bord

Lorsque vous activez la surveillance automatique des applications, GKE installe des tableaux de bord prêts à l'emploi pour surveiller les applications des charges de travail compatibles déployées sur votre cluster. Les tableaux de bord des charges de travail compatibles qui n'ont jamais été exécutées sur un cluster ne s'affichent pas.

Pour afficher les tableaux de bord avec la télémétrie des charges de travail surveillées automatiquement sur la page Google Kubernetes Engine, procédez comme suit:

  1. Accédez à la page Google Kubernetes Engine dans la console Google Cloud :

    Accéder à Google Kubernetes Engine

  2. Cliquez sur le nom du cluster dans lequel vous souhaitez afficher les tableaux de bord des charges de travail surveillées automatiquement.

  3. Cliquez sur l'onglet Observabilité. La section Intégrations affiche les tableaux de bord configurés pour les charges de travail compatibles exécutées sur le cluster.

Pour afficher les tableaux de bord avec la télémétrie des charges de travail surveillées automatiquement sur la page Cloud Monitoring, procédez comme suit:

  1. Accédez à la page Tableaux de bord.

    Accéder à la page Tableaux de bord

  2. Cliquez sur l'onglet Liste des tableaux de bord.

  3. Sélectionnez la catégorie Intégrations.

  4. Cliquez sur le nom du tableau de bord. Par exemple, Présentation de RabbitMQ-Prometheus.

Désactiver la surveillance automatique des applications

Si vous désactivez la surveillance automatique des applications sur un cluster, les ressources PodMonitoring créées par GKE restent intactes et GKE continue de surveiller les charges de travail compatibles existantes. GKE cesse de surveiller automatiquement les nouvelles instances des charges de travail compatibles que vous déployez sur le cluster. Pour arrêter de surveiller les charges de travail compatibles existantes, vous devez supprimer les ressources PodMonitoring créées par GKE. Si vous réactivez la surveillance automatique des applications pour un cluster, GKE détecte et réconcilie les ressources PodMonitoring qu'il a précédemment créées.

Vous pouvez désactiver la surveillance automatique des applications pour un cluster à l'aide de la consoleGoogle Cloud , de la gcloud CLI ou de l'API GKE.

Console

  1. Accédez à la page Google Kubernetes Engine dans la console Google Cloud :

    Accéder à Google Kubernetes Engine

  2. Cliquez sur le nom du cluster.

  3. Dans la liste Fonctionnalités, recherchez le champ Surveillance automatique des applications.

  4. Cliquez sur Modifier ().

  5. Désélectionnez Activer la surveillance automatique des applications.

  6. Cliquez sur Enregistrer.

gcloud

Mettez à jour le cluster à l'aide de l'option --auto-monitoring-scope=NONE:

gcloud beta container clusters update CLUSTER_NAME \
    --location=COMPUTE_LOCATION \
    --auto-monitoring-scope=NONE

Remplacez les éléments suivants :

API

Envoyez une requête PUT à la méthode clusters.update:

PUT https://container.googleapis.com/v1/projects/PROJECT_ID/locations/COMPUTE_LOCATION/clusters/CLUSTER_NAME

{
  "update": {
    "desiredMonitoringConfig": {
      "managedPrometheusConfig": {
        "autoMonitoringConfig": {
          "scope": NONE
        }
      }
    }
  }
}

Remplacez les éléments suivants :

  • PROJECT_ID: ID de votre Google Cloud projet.
  • CLUSTER_NAME : nom du cluster.
  • COMPUTE_LOCATION : emplacement Compute Engine du cluster.

Personnaliser la surveillance automatique des charges de travail compatibles

Vous pouvez personnaliser la configuration de surveillance pour des instances individuelles de charges de travail compatibles ou désactiver la surveillance d'instances individuelles de charges de travail compatibles.

Pour personnaliser la ressource PodMonitoring d'une instance déployée d'une charge de travail compatible sans affecter la surveillance automatique des applications des autres charges de travail, vous devez exclure l'instance de la surveillance automatique des applications, puis mettre à jour la configuration ou remplacer la ressource PodMonitoring associée à l'instance de charge de travail cible.

Si vous mettez à jour ou supprimez une ressource PodMonitoring créée par GKE sans exclure la charge de travail associée, GKE restaure la ressource PodMonitoring pour assurer la continuité tout en surveillant les autres charges de travail compatibles.

Trouver la ressource PodMonitoring d'une charge de travail

Vous pouvez identifier la ressource PodMonitoring créée par GKE pour une charge de travail à l'aide de la console Google Cloud :

  1. Accédez à la page Navigateur d'objets.

    Accéder au navigateur d'objets

  2. Dans le champ Cluster (Cluster), saisissez le nom du cluster.

  3. Dans le champ Espace de noms, saisissez le nom de l'espace de noms.

  4. Dans le filtre Types d'objets, sélectionnez PodMonitoring.

  5. Sous monitoring.googleapis.com, sélectionnez PodMonitoring.

  6. Cliquez sur le nom d'un objet pour l'inspecter. Le libellé de métadonnées source:gke-auto-monitoring indique que GKE a créé la ressource PodMonitoring.

Exclure les instances déployées de la surveillance automatique

Si vous ne souhaitez pas surveiller une instance déployée d'une charge de travail compatible ou si vous souhaitez personnaliser la configuration de surveillance d'une charge de travail, vous pouvez l'exclure de la surveillance automatique des applications.

Pour exclure une charge de travail, vous devez ajouter le libellé de métadonnées allow-gke-auto-monitoring: false à la configuration de la charge de travail cible. Par exemple, le fichier manifeste suivant décrit un StatefulSet RabbitMQ qui n'est pas surveillé par la surveillance automatique des applications:

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: rabbitmq
  allow-gke-auto-monitoring: false
spec:
  serviceName: rabbitmq
  replicas: 3

Une fois qu'une instance de charge de travail a été exclue, vous pouvez supprimer la ressource PodMonitoring créée par GKE pour la charge de travail. GKE ne tente pas de restaurer la ressource PodMonitoring si vous la supprimez ou la modifiez. Si vous déployez une nouvelle charge de travail avec le libellé de métadonnées allow-gke-auto-monitoring: false, GKE ne crée pas de ressource PodMonitoring pour la charge de travail.

Supprimer la configuration de surveillance d'une charge de travail

Si vous souhaitez arrêter de surveiller une charge de travail ou si vous souhaitez déployer votre propre ressource PodMonitoring personnalisée pour une charge de travail, vous pouvez supprimer la configuration de surveillance.

Pour supprimer la configuration de surveillance automatique des applications d'une charge de travail spécifique, procédez comme suit:

  1. Exclure la charge de travail de la surveillance automatique des applications.
  2. Identifiez la ressource PodMonitoring créée par GKE pour la charge de travail.
  3. Supprimez la ressource PodMonitoring:

    kubectl delete podmonitoring POD_MONITORING_NAME -n NAMESPACE
    

    Remplacez les éléments suivants :

    • POD_MONITORING_NAME: nom de la ressource PodMonitoring.
    • NAMESPACE: espace de noms de la ressource PodMonitoring.

Pour supprimer la configuration de surveillance automatique des applications de toutes les charges de travail d'un cluster, procédez comme suit:

  1. Désactivez la surveillance automatique des applications.
  2. Supprimez toutes les ressources PodMonitoring du cluster avec le libellé de métadonnées source:gke-auto-monitoring:

    kubectl delete podmonitorings -l source=gke-auto-monitoring --all-namespaces
    

Tarifs

La configuration de la surveillance automatique des applications et l'installation de tableaux de bord prêts à l'emploi pour les charges de travail compatibles sont disponibles sans frais supplémentaires. Toutefois, Monitoring facture l'ingestion de métriques par Google Cloud Managed Service pour Prometheus conformément aux tarifs de Monitoring.

Étape suivante