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
.
- Activez l'API Cloud Monitoring.
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:
Accédez à la page Google Kubernetes Engine dans la console Google Cloud .
Cliquez sur
Créer, puis sur Configurer dans la section Standard ou Autopilot.Pour un cluster en mode Autopilot, cliquez sur Paramètres avancés. Pour un cluster en mode Standard, cliquez sur Fonctionnalités.
Dans la section Opérations, sélectionnez Activer la surveillance automatique des applications.
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 :
CLUSTER_NAME
: nom du nouveau clusterCOMPUTE_LOCATION
: emplacement Compute Engine du cluster.
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 clusterCOMPUTE_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 :
Accédez à la page Google Kubernetes Engine dans la console Google Cloud :
Dans la liste des clusters, cliquez sur le nom du cluster.
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 :
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.
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:
Accédez à la page Google Kubernetes Engine dans la console Google Cloud :
Cliquez sur le nom du cluster dans lequel vous souhaitez afficher les tableaux de bord des charges de travail surveillées automatiquement.
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:
Accédez à la page Tableaux de bord.
Cliquez sur l'onglet Liste des tableaux de bord.
Sélectionnez la catégorie Intégrations.
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
Accédez à la page Google Kubernetes Engine dans la console Google Cloud :
Cliquez sur le nom du cluster.
Dans la liste Fonctionnalités, recherchez le champ Surveillance automatique des applications.
Cliquez sur Modifier (edit).
Désélectionnez Activer la surveillance automatique des applications.
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 :
CLUSTER_NAME
: nom du cluster.COMPUTE_LOCATION
: emplacement Compute Engine du cluster.
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 :
Accédez à la page Navigateur d'objets.
Dans le champ Cluster (Cluster), saisissez le nom du cluster.
Dans le champ Espace de noms, saisissez le nom de l'espace de noms.
Dans le filtre Types d'objets, sélectionnez PodMonitoring.
Sous monitoring.googleapis.com, sélectionnez PodMonitoring.
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 ressourcePodMonitoring
.
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:
- Exclure la charge de travail de la surveillance automatique des applications.
- Identifiez la ressource
PodMonitoring
créée par GKE pour la charge de travail. Supprimez la ressource
PodMonitoring
:kubectl delete podmonitoring POD_MONITORING_NAME -n NAMESPACE
Remplacez les éléments suivants :
POD_MONITORING_NAME
: nom de la ressourcePodMonitoring
.NAMESPACE
: espace de noms de la ressourcePodMonitoring
.
Pour supprimer la configuration de surveillance automatique des applications de toutes les charges de travail d'un cluster, procédez comme suit:
- Désactivez la surveillance automatique des applications.
Supprimez toutes les ressources
PodMonitoring
du cluster avec le libellé de métadonnéessource: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
- Découvrez comment afficher les métriques d'observabilité.