GSP1026

Présentation
Dans cet atelier, vous allez utiliser Managed Service pour Prometheus pour collecter des métriques à partir d'autres sources d'infrastructure à l'aide d'exportateurs.
Objectifs
Dans cet atelier, vous allez apprendre à effectuer les tâches suivantes :
- Déployer une instance GKE
- Configurer la ressource personnalisée
PodMonitoring
et l'outil node-exporter
- Créer le binaire GMP en local et le déployer sur l'instance GKE
- Appliquer une configuration Prometheus pour commencer à collecter des métriques
Préparation
Avant de cliquer sur le bouton "Démarrer l'atelier"
Lisez ces instructions. Les ateliers sont minutés, et vous ne pouvez pas les mettre en pause. Le minuteur, qui démarre lorsque vous cliquez sur Démarrer l'atelier, indique combien de temps les ressources Google Cloud resteront accessibles.
Cet atelier pratique vous permet de suivre les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Des identifiants temporaires vous sont fournis pour vous permettre de vous connecter à Google Cloud le temps de l'atelier.
Pour réaliser cet atelier :
- Vous devez avoir accès à un navigateur Internet standard (nous vous recommandons d'utiliser Chrome).
Remarque : Ouvrez une fenêtre de navigateur en mode incognito (recommandé) ou de navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le compte temporaire de participant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.
- Vous disposez d'un temps limité. N'oubliez pas qu'une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Remarque : Utilisez uniquement le compte de participant pour cet atelier. Si vous utilisez un autre compte Google Cloud, des frais peuvent être facturés à ce compte.
Démarrer l'atelier et se connecter à la console Google Cloud
-
Cliquez sur le bouton Démarrer l'atelier. Si l'atelier est payant, une boîte de dialogue s'affiche pour vous permettre de sélectionner un mode de paiement.
Sur la gauche, vous trouverez le panneau "Détails concernant l'atelier", qui contient les éléments suivants :
- Le bouton "Ouvrir la console Google Cloud"
- Le temps restant
- Les identifiants temporaires que vous devez utiliser pour cet atelier
- Des informations complémentaires vous permettant d'effectuer l'atelier
-
Cliquez sur Ouvrir la console Google Cloud (ou effectuez un clic droit et sélectionnez Ouvrir le lien dans la fenêtre de navigation privée si vous utilisez le navigateur Chrome).
L'atelier lance les ressources, puis ouvre la page "Se connecter" dans un nouvel onglet.
Conseil : Réorganisez les onglets dans des fenêtres distinctes, placées côte à côte.
Remarque : Si la boîte de dialogue Sélectionner un compte s'affiche, cliquez sur Utiliser un autre compte.
-
Si nécessaire, copiez le nom d'utilisateur ci-dessous et collez-le dans la boîte de dialogue Se connecter.
{{{user_0.username | "Username"}}}
Vous trouverez également le nom d'utilisateur dans le panneau "Détails concernant l'atelier".
-
Cliquez sur Suivant.
-
Copiez le mot de passe ci-dessous et collez-le dans la boîte de dialogue Bienvenue.
{{{user_0.password | "Password"}}}
Vous trouverez également le mot de passe dans le panneau "Détails concernant l'atelier".
-
Cliquez sur Suivant.
Important : Vous devez utiliser les identifiants fournis pour l'atelier. Ne saisissez pas ceux de votre compte Google Cloud.
Remarque : Si vous utilisez votre propre compte Google Cloud pour cet atelier, des frais supplémentaires peuvent vous être facturés.
-
Accédez aux pages suivantes :
- Acceptez les conditions d'utilisation.
- N'ajoutez pas d'options de récupération ni d'authentification à deux facteurs (ce compte est temporaire).
- Ne vous inscrivez pas à des essais sans frais.
Après quelques instants, la console Cloud s'ouvre dans cet onglet.
Remarque : Pour accéder aux produits et services Google Cloud, cliquez sur le menu de navigation ou saisissez le nom du service ou du produit dans le champ Recherche.
Activer Cloud Shell
Cloud Shell est une machine virtuelle qui contient de nombreux outils pour les développeurs. Elle comprend un répertoire d'accueil persistant de 5 Go et s'exécute sur Google Cloud. Cloud Shell vous permet d'accéder via une ligne de commande à vos ressources Google Cloud.
-
Cliquez sur Activer Cloud Shell
en haut de la console Google Cloud.
-
Passez les fenêtres suivantes :
- Accédez à la fenêtre d'informations de Cloud Shell.
- Autorisez Cloud Shell à utiliser vos identifiants pour effectuer des appels d'API Google Cloud.
Une fois connecté, vous êtes en principe authentifié et le projet est défini sur votre ID_PROJET : . Le résultat contient une ligne qui déclare l'ID_PROJET pour cette session :
Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}
gcloud
est l'outil de ligne de commande pour Google Cloud. Il est préinstallé sur Cloud Shell et permet la complétion par tabulation.
- (Facultatif) Vous pouvez lister les noms des comptes actifs à l'aide de cette commande :
gcloud auth list
- Cliquez sur Autoriser.
Résultat :
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
To set the active account, run:
$ gcloud config set account `ACCOUNT`
- (Facultatif) Vous pouvez lister les ID de projet à l'aide de cette commande :
gcloud config list project
Résultat :
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Remarque : Pour consulter la documentation complète sur gcloud
, dans Google Cloud, accédez au guide de présentation de la gcloud CLI.
Tâche 1 : Déployer un cluster GKE
- Exécutez la commande suivante pour déployer un cluster GKE de base :
gcloud beta container clusters create gmp-cluster --num-nodes=1 --zone {{{project_0.default_zone | Zone}}} --enable-managed-prometheus
gcloud container clusters get-credentials gmp-cluster --zone={{{project_0.default_zone | Zone}}}
Tâche 2 : Configurer un espace de noms
- Créez l'espace de noms Kubernetes
gmp-test
pour les ressources que vous créez dans le cadre de l'exemple d'application :
kubectl create ns gmp-test
Vérifier si Prometheus a été déployé
Tâche 3 : Déployer l'exemple d'application
Le service géré fournit un fichier manifeste pour un exemple d'application qui émet des métriques Prometheus sur son port "metrics". L'application utilise trois instances répliquées.
- Pour déployer l'exemple d'application, exécutez la commande suivante :
kubectl -n gmp-test apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/prometheus-engine/v0.2.3/examples/example-app.yaml
Tâche 4 : Configurer une ressource PodMonitoring
Pour ingérer les données de métriques émises par l'exemple d'application, vous utilisez le scraping de cibles. Le scraping de cibles et l'ingestion de métriques sont configurés à l'aide de ressources personnalisées Kubernetes. Le service géré utilise des ressources personnalisées PodMonitoring.
Une ressource personnalisée PodMonitoring ne scrape les cibles que dans l'espace de noms où elle est déployée. Pour scraper des cibles dans plusieurs espaces de noms, déployez la même ressource personnalisée PodMonitoring dans chaque espace de noms. Vous pouvez vérifier que la ressource PodMonitoring est installée dans l'espace de noms prévu en exécutant la commande kubectl get podmonitoring -A
.
Pour accéder à la documentation de référence sur toutes les ressources personnalisées Managed Service pour Prometheus, consultez prometheus-engine/doc/api.
Le fichier manifeste suivant définit une ressource PodMonitoring, prom-example
, dans l'espace de noms gmp-test
. La ressource utilise un sélecteur d'étiquettes Kubernetes pour trouver tous les pods de l'espace de noms portant l'étiquette app
avec la valeur prom-example
. Les pods correspondants sont scrapés sur un port nommé metrics
, toutes les 30 secondes, sur le chemin HTTP /metrics
.
apiVersion: monitoring.googleapis.com/v1alpha1
kind: PodMonitoring
metadata:
name: prom-example
spec:
selector:
matchLabels:
app: prom-example
endpoints:
- port: metrics
interval: 30s
- Pour appliquer cette ressource, exécutez la commande suivante :
kubectl -n gmp-test apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/prometheus-engine/v0.2.3/examples/pod-monitoring.yaml
Votre collecteur géré scrape désormais les pods correspondants.
Pour configurer une collecte horizontale qui s'applique à une plage de pods sur tous les espaces de noms, utilisez la ressource ClusterPodMonitoring. La ressource ClusterPodMonitoring fournit la même interface que la ressource PodMonitoring, mais ne limite pas la détection de pods à un espace de noms donné.
Remarque : Un champ targetLabels supplémentaire fournit une configuration de réétiquetage simplifiée de type Prometheus. Le réétiquetage permet d'ajouter des étiquettes de pods en tant qu'étiquettes sur la série temporelle ingérée. Vous ne pouvez pas écraser les étiquettes cibles obligatoires. Pour obtenir la liste de ces étiquettes, consultez la ressource prometheus_target.
Si vous exécutez GKE, vous pouvez procéder comme suit :
- Pour interroger les métriques ingérées par l'exemple d'application, consultez "Interroger les données du service Prometheus".
- Pour en savoir plus sur le filtrage des métriques exportées et l'adaptation de vos ressources prom-operator, consultez "Autres sujets sur la collecte gérée".
Tâche 5 : Télécharger le binaire Prometheus
- Téléchargez le binaire Prometheus à partir du bucket suivant :
git clone https://github.com/GoogleCloudPlatform/prometheus && cd prometheus
git checkout v2.28.1-gmp.4
wget https://storage.googleapis.com/kochasoft/gsp1026/prometheus
chmod a+x prometheus
Tâche 6 : Exécuter le binaire Prometheus
- Enregistrez votre ID de projet dans une variable :
export PROJECT_ID=$(gcloud config get-value project)
- Enregistrez votre zone dans une variable. Ces valeurs seront utilisées lors de l'exécution de votre binaire Prometheus.
export ZONE={{{project_0.default_zone | Zone}}}
- Exécutez le binaire Prometheus dans Cloud Shell à l'aide de la commande suivante :
./prometheus \
--config.file=documentation/examples/prometheus.yml --export.label.project-id=$PROJECT_ID --export.label.location=$ZONE
Une fois l'exécution du binaire Prometheus lancée, vous devriez pouvoir accéder au service Prometheus géré dans l'UI de la console et exécuter une requête PromQL "up" pour vérifier que le binaire Prometheus est disponible (la sortie indiquera que le nom d'instance "localhost" exécute un binaire Prometheus).
Tâche 7 : Télécharger et exécuter l'exportateur de nœuds
-
Ouvrez un nouvel onglet dans Cloud Shell pour exécuter les commandes node_exporter
.
-
Téléchargez et exécutez l'exportateur sur la zone Cloud Shell :
wget https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz
tar xvfz node_exporter-1.3.1.linux-amd64.tar.gz
cd node_exporter-1.3.1.linux-amd64
./node_exporter
Remarque : Vous pourrez utiliser le port sur lequel l'outil node_exporter
est exécuté pour modifier la configuration de Prometheus lors des prochaines étapes.
Vous devez obtenir un résultat semblable à celui-ci, indiquant que l'exportateur de nœuds est désormais en cours d'exécution et expose des métriques sur le port 9100 :
ts=2023-03-01T10:27:17.262Z caller=node_exporter.go:199 level=info msg="Listening on" address=:9100
ts=2023-03-01T10:27:17.263Z caller=tls_config.go:195 level=info msg="TLS is disabled." http2=false
Créer un fichier config.yaml
- Arrêtez le binaire Prometheus en cours d'exécution dans le premier onglet de Cloud Shell et créez un fichier de configuration qui récupérera les métriques de l'exportateur de nœuds :
vi config.yaml
- Créez un fichier
config.yaml
avec la spécification suivante :
global:
scrape_interval: 15s
scrape_configs:
- job_name: node
static_configs:
- targets: ['localhost:9100']
- Importez le fichier
config.yaml
que vous avez créé pour vérifier :
export PROJECT=$(gcloud config get-value project)
gsutil mb -p $PROJECT gs://$PROJECT
gsutil cp config.yaml gs://$PROJECT
gsutil -m acl set -R -a public-read gs://$PROJECT
Vérifier si le fichier config.yaml est correctement configuré
- Réexécutez Prometheus en pointant vers le nouveau fichier de configuration à l'aide de la commande ci-dessous :
./prometheus --config.file=config.yaml --export.label.project-id=$PROJECT --export.label.location=$ZONE
Utilisez la statistique suivante de l'exportateur pour en afficher le nombre dans une requête PromQL.
- Dans Cloud Shell, cliquez sur l'icône Aperçu sur le Web.

- Définissez le port sur
9090
en sélectionnant Modifier le port d'aperçu, puis lancez une prévisualisation en cliquant sur Modifier et prévisualiser.
Dans l'éditeur de requête PromQL, saisissez une requête commençant par node_. Vous devriez obtenir une liste d'entrées de métriques, que vous pouvez sélectionner pour les visualiser dans l'éditeur graphique.
- "node_cpu_seconds_total" fournit des données graphiques.

Essayez de sélectionner d'autres métriques qui apparaissent pour afficher les données exportées.
Félicitations !
Dans cet atelier, vous avez déployé une instance GKE et configuré node-exporter
. Vous avez ensuite configuré le binaire GMP pour ingérer les métriques de node-exporter
et les avez affichées.
Étapes suivantes et informations supplémentaires
Pour en savoir plus, consultez Google Cloud Managed Service pour Prometheus.
Formations et certifications Google Cloud
Les formations et certifications Google Cloud vous aident à tirer pleinement parti des technologies Google Cloud. Nos cours portent sur les compétences techniques et les bonnes pratiques à suivre pour être rapidement opérationnel et poursuivre votre apprentissage. Nous proposons des formations pour tous les niveaux, à la demande, en salle et à distance, pour nous adapter aux emplois du temps de chacun. Les certifications vous permettent de valider et de démontrer vos compétences et votre expérience en matière de technologies Google Cloud.
Dernière mise à jour du manuel : 16 avril 2024
Dernier test de l'atelier : 27 octobre 2023
Copyright 2025 Google LLC. Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms d'entreprises et de produits peuvent être des marques des entreprises auxquelles ils sont associés.