GSP1088
Présentation
Cloud Logging est un service entièrement géré qui vous permet de stocker, de rechercher, d'analyser et de surveiller les données et les événements de journalisation de Google Cloud, ainsi que de recevoir des alertes les concernant.
Dans cet atelier, vous allez découvrir les fonctionnalités et les outils fournis par Cloud Logging pour obtenir des informations sur vos applications.
Points abordés
Dans cet atelier, vous allez apprendre à :
- utiliser efficacement Cloud Logging et obtenir des informations sur les applications qui s'exécutent sur Google Kubernetes Engine (GKE) ;
- créer et exécuter efficacement des requêtes à l'aide de l'analyse de journaux.
L'application de démonstration utilisée lors de l'atelier
Dans cet atelier, vous allez travailler sur un scénario basé sur une application de démonstration de microservices déployée sur un cluster GKE. Cette application de démonstration intègre de nombreux microservices et de nombreuses dépendances.
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 : Configurer l'infrastructure
Vérifier le cluster GKE
Connectez-vous à un cluster GKE et confirmez qu'il a été créé correctement.
- Dans Cloud Shell, définissez votre zone dans
gcloud :
gcloud config set compute/zone {{{project_0.default_zone|placeholder}}}
- Utilisez la commande suivante pour afficher l'état du cluster :
gcloud container clusters list
L'état doit ressembler à ce qui suit :
NAME: day2-ops
LOCATION: us-west1
MASTER_VERSION: 1.31.5-gke.1023000
MASTER_IP: 34.169.197.173
MACHINE_TYPE: e2-standard-2
NODE_VERSION: 1.31.5-gke.1023000
NUM_NODES: 3
STATUS: RUNNING
L'état indiqué pour le cluster devrait être "RUNNING" (En cours d'exécution). Si votre cluster indique "PROVISIONING" (En cours de provisionnement), attendez un peu et exécutez une nouvelle fois la commande ci-dessus. Réexécutez la commande jusqu'à ce que l'état "RUNNING" (En cours d'exécution) soit indiqué.
Vous pouvez également vérifier la progression dans la console Google Cloud. Dans le menu de navigation (
), cliquez sur Kubernetes Engine > Clusters.
- Une fois que votre cluster indique "RUNNING" (En cours d'exécution), récupérez ses identifiants :
gcloud container clusters get-credentials day2-ops --region {{{project_0.default_region|placeholder}}}
Vous devez normalement obtenir le résultat suivant :
Fetching cluster endpoint and auth data.
kubeconfig entry generated for day2-ops.
- Vérifiez que les nœuds ont été créés :
kubectl get nodes
Vous devez normalement obtenir le résultat suivant :
NAME STATUS ROLES AGE VERSION
gke-day2-ops-day2-ops-node-pool-0d9c7ef3-xc44 Ready <none> 11m v1.31.5-gke.1023000
gke-day2-ops-day2-ops-node-pool-b17ac6d6-tch7 Ready <none> 11m v1.31.5-gke.1023000
gke-day2-ops-day2-ops-node-pool-ed506ae8-wsc5 Ready <none> 11m v1.31.5-gke.1023000
Tâche 2 : Déployer l'application
Vous allez maintenant déployer une application de microservices appelée Online Boutique sur votre cluster afin de créer une charge de travail à surveiller.
- Exécutez la commande suivante pour cloner le dépôt :
git clone https://github.com/GoogleCloudPlatform/microservices-demo.git
- Accédez au répertoire
microservices-demo :
cd microservices-demo
- Installez l'application à l'aide de la commande
kubectl :
kubectl apply -f release/kubernetes-manifests.yaml
- Vérifiez que tout fonctionne correctement :
kubectl get pods
Le résultat doit ressembler à l'exemple ci-dessous. Avant de passer à l'étape suivante, réexécutez la commande jusqu'à ce que tous les pods indiquent "Running" (En cours d'exécution).
NAME READY STATUS RESTARTS AGE
adservice-55f94cfd9c-4lvml 1/1 Running 0 20m
cartservice-6f4946f9b8-6wtff 1/1 Running 2 20m
checkoutservice-5688779d8c-l6crl 1/1 Running 0 20m
currencyservice-665d6f4569-b4sbm 1/1 Running 0 20m
emailservice-684c89bcb8-h48sq 1/1 Running 0 20m
frontend-67c8475b7d-vktsn 1/1 Running 0 20m
loadgenerator-6d646566db-p422w 1/1 Running 0 20m
paymentservice-858d89d64c-hmpkg 1/1 Running 0 20m
productcatalogservice-bcd85cb5-d6xp4 1/1 Running 0 20m
recommendationservice-685d7d6cd9-pxd9g 1/1 Running 0 20m
redis-cart-9b864d47f-c9xc6 1/1 Running 0 20m
shippingservice-5948f9fb5c-vndcp 1/1 Running 0 20m
- Exécutez la commande suivante pour obtenir l'adresse IP externe de l'application :
export EXTERNAL_IP=$(kubectl get service frontend-external -o jsonpath="{.status.loadBalancer.ingress[0].ip}")
echo $EXTERNAL_IP
Cette commande ne renverra une adresse IP qu'une fois le service déployé. Vous devrez donc peut-être la répéter plusieurs fois jusqu'à ce qu'une adresse IP externe lui soit attribuée.
Une fois l'adresse IP attribuée, le résultat doit se présenter comme suit :
35.222.235.86
- Enfin, vérifiez que l'application est opérationnelle :
curl -o /dev/null -s -w "%{http_code}\n" http://${EXTERNAL_IP}
La confirmation se présente comme suit :
200
Une fois l'application déployée, vous pouvez aussi consulter son état dans la console.
-
Sur la page Kubernetes Engine, dans le volet de gauche, cliquez sur Charges de travail pour vérifier que tous les pods fonctionnent.
-
Dans le volet de gauche, cliquez sur Passerelles, services et entrées, puis sur l'onglet Services et vérifiez que tous les services affichent l'état "OK".
Ouvrir l'application
Dans Passerelles, services et entrées > Services, cliquez sur l'adresse IP du point de terminaison du service frontend-external.
Une page Web de démonstration semblable à celle-ci doit s'ouvrir :
Remarque : Il vous sera peut-être demandé de cliquer sur un bouton "Accéder au site".
Cliquez sur Vérifier ma progression pour valider l'objectif.
Déployer l'application
Tâche 3 : Gérer les buckets de journaux
Deux options s'offrent à vous pour activer l'Analyse de journaux. Vous pouvez mettre à niveau un bucket existant ou créer un bucket de journaux dans lequel l'Analyse de journaux est activée.
Mettre à niveau un bucket existant
Suivez ces étapes pour mettre à niveau un bucket de journaux existant :
-
Dans la console, accédez au menu de navigation (
), puis cliquez sur Afficher tous les produits > Observabilité > Journalisation. Cliquez sur Ajouter aux favoris pour y accéder plus facilement au cours de l'atelier.
-
Cliquez sur Stockage des journaux.
-
Cliquez sur Mettre à niveau pour un bucket existant, par exemple Default bucket (Bucket par défaut).
-
Dans la boîte de dialogue de confirmation, cliquez sur Mettre à niveau.
-
Attendez que l'état passe à Mis à niveau.
-
Cliquez sur Ouvrir et sélectionnez la vue _AllLogs.
La page "Analyse de journaux" s'ouvre.
Créer un bucket de journaux
Suivez ces étapes pour créer un bucket de journaux :
-
Dans le volet de gauche, cliquez sur Stockage des journaux, puis sur Créer un bucket de journaux en haut de la fenêtre "Stockage des journaux".
-
Attribuez un nom au bucket, par exemple day2ops-log.
-
Cochez les cases Effectuer la mise à niveau pour utiliser l'Analyse de journaux et Créer un ensemble de données BigQuery associé à ce bucket.
-
Saisissez un nom pour l'ensemble de données BigQuery, par exemple day2ops_log.
-
Dans le champ "Région", sélectionnez l'option Monde.
Sélectionnez Créer un ensemble de données associé dans BigQuery pour créer un ensemble de données dans BigQuery (s'il n'existe pas déjà). Cela vous permet d'exécuter des requêtes dans BigQuery.
- Cliquez sur Créer un bucket pour créer le bucket de journaux.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Créer un bucket de journaux
Écrire dans le nouveau bucket de journaux
Il existe plusieurs façons de créer un récepteur de journaux pour acheminer les entrées de journal vers le nouveau bucket de journaux :
- Directement depuis le routeur de journaux.
- Depuis l'explorateur de journaux. Exécutez des requêtes de journaux pour sélectionner et filtrer les journaux qui vous intéressent lorsque vous créez un récepteur. L'avantage de cette approche est que la requête de journal est automatiquement copiée dans la configuration du récepteur en tant que filtre.
-
Cliquez sur Explorateur de journaux dans le volet de gauche.
-
En haut à droite, activez l'option Afficher la requête et exécutez la requête suivante dans le champ de requête :
resource.type="k8s_container"
-
Cliquez sur Actions > Créer un récepteur.
-
Dans le champ "Nom du récepteur", saisissez day2ops-sink.
-
Cliquez sur Suivant.
-
Sélectionnez Bucket de journalisation dans la liste déroulante du service du récepteur.
-
Sélectionnez le bucket de journaux que vous venez de créer.
Votre nouveau bucket de journaux doit ressembler à ce qui suit :
projects/qwiklabs-gcp-00-xxxxxxx/locations/global/buckets/day2ops-log
- Cliquez sur Suivant.
La requête de type de ressource doit s'afficher dans le filtre.
- Cliquez sur Créer un récepteur.
Patientez environ une minute pendant la création du récepteur.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Créer le récepteur de journaux
Lire des données à partir du nouveau bucket de journaux
Dans le volet de gauche, accédez à l'explorateur de journaux. Dans la liste Champs de la section Type de ressource, vous pouvez voir qu'il existe de nombreux types de ressources différents pour les journaux.
-
Pour afficher les journaux dans le nouveau bucket de journaux, en haut à gauche de la fenêtre de l'explorateur de journaux, cliquez sur Journaux du projet > Vue de journal > le nouveau bucket de journaux (que vous venez de créer).
-
Cliquez sur Appliquer.
Le seul type de ressources affiché correspond aux conteneurs Kubernetes et le nombre d'entrées de journaux affiché est plus bas. En effet, seuls les journaux filtrés sont envoyés au bucket.
Tâche 4 : Analyse de journaux
- Dans le volet de gauche, cliquez sur Analyse de journaux pour ouvrir la page "Analyse de journaux".
Si votre champ de requête est vide ou que vous avez oublié le nom de la table à utiliser, vous pouvez cliquer sur le bouton Exécuter la requête pour afficher l'exemple de requête.
Vous pouvez ensuite exécuter vos propres requêtes dans le champ de requête. Cette tâche fournit quelques exemples.
Important : Le nom de la vue de journal dans la clause FROM est différent pour les buckets de journaux. Veillez à utiliser le bon nom de vue. Reportez-vous à l'étape précédente pour effectuer la vérification.
Exemple de requête permettant de trouver la latence minimale, maximale et moyenne
Dans le volet de droite, sélectionnez <> SQL. Cliquez sur le bouton Effacer pour supprimer tout contenu existant dans l'éditeur de requête. Collez la requête dans l'éditeur, puis sélectionnez Exécuter la requête pour récupérer les erreurs les plus récentes des conteneurs.
Utilisez la requête suivante pour trouver les latences minimale, maximale et moyenne dans un laps de temps donné pour le service frontend :
SELECT
hour,
MIN(took_ms) AS min,
MAX(took_ms) AS max,
AVG(took_ms) AS avg
FROM (
SELECT
FORMAT_TIMESTAMP("%H", timestamp) AS hour,
CAST( JSON_VALUE(json_payload,
'$."http.resp.took_ms"') AS INT64 ) AS took_ms
FROM
`{{{project_0.project_id | "PROJECT_ID"}}}.global.day2ops-log._AllLogs`
WHERE
timestamp > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 24 HOUR)
AND json_payload IS NOT NULL
AND SEARCH(labels,
"frontend")
AND JSON_VALUE(json_payload.message) = "request complete"
ORDER BY
took_ms DESC,
timestamp ASC )
GROUP BY
1
ORDER BY
1
Exemple de requête permettant de trouver le nombre de visites d'une page de produit
Utilisez la requête suivante pour savoir combien de fois les utilisateurs ont consulté une page de produit spécifique au cours de l'heure écoulée :
SELECT
count(*)
FROM
`{{{project_0.project_id | "PROJECT_ID"}}}.global.day2ops-log._AllLogs`
WHERE
text_payload like "GET %/product/L9ECAV7KIM %"
AND
timestamp > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 HOUR)
Exemple de requête permettant de déterminer le nombre de sessions aboutissant à un paiement de panier
Utilisez la requête suivante pour déterminer combien de sessions ont abouti à un paiement (appel POST au service /cart/checkout) :
SELECT
JSON_VALUE(json_payload.session),
COUNT(*)
FROM
`{{{project_0.project_id | "PROJECT_ID"}}}.global.day2ops-log._AllLogs`
WHERE
JSON_VALUE(json_payload['http.req.method']) = "POST"
AND JSON_VALUE(json_payload['http.req.path']) = "/cart/checkout"
AND timestamp > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 HOUR)
GROUP BY
JSON_VALUE(json_payload.session)
Félicitations !
Vous venez de découvrir comment utiliser Cloud Logging pour obtenir des informations sur les applications qui s'exécutent dans GKE. Vous avez également créé et exécuté des requêtes à l'aide de l'Analyse de journaux.
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 : 15 janvier 2026
Dernier test de l'atelier : 15 janvier 2026
Copyright 2026 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.