Dans cet atelier, vous allez exploiter Cloud Debugger et Error Reporting pour diagnostiquer et corriger les erreurs dans l'application en cours d'exécution.
Objectifs
Dans cet atelier, vous allez apprendre à effectuer les tâches suivantes :
Créer un dépôt Cloud Source Repositories et y envoyer le code de l'application
Installer et configurer Cloud Debugger
Utiliser les instantanés et les points de journalisation du débogage pour capturer et afficher les variables de l'application
Installer et configurer Cloud Error Reporting
Identifier les erreurs dans l'application à l'aide de Cloud Error Reporting
Prérequis
Pour chaque atelier, nous vous attribuons un nouveau projet Google Cloud et un nouvel ensemble de ressources pour une durée déterminée, sans frais.
Connectez-vous à Qwiklabs dans une fenêtre de navigation privée.
Vérifiez le temps imparti pour l'atelier (par exemple : 01:15:00) : vous devez pouvoir le terminer dans ce délai.
Une fois l'atelier lancé, vous ne pouvez pas le mettre en pause. Si nécessaire, vous pourrez le redémarrer, mais vous devrez tout reprendre depuis le début.
Lorsque vous êtes prêt, cliquez sur Démarrer l'atelier.
Notez vos identifiants pour l'atelier (Nom d'utilisateur et Mot de passe). Ils vous serviront à vous connecter à Google Cloud Console.
Cliquez sur Ouvrir la console Google.
Cliquez sur Utiliser un autre compte, puis copiez-collez les identifiants de cet atelier lorsque vous y êtes invité.
Si vous utilisez d'autres identifiants, des messages d'erreur s'afficheront ou des frais seront appliqués.
Acceptez les conditions d'utilisation et ignorez la page concernant les ressources de récupération des données.
Activer Google Cloud Shell
Google 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.
Google Cloud Shell offre un accès en ligne de commande à vos ressources GCP.
Dans la barre d'outils située en haut à droite de la console GCP, cliquez sur le bouton Open Cloud Shell (Ouvrir Cloud Shell).
Cliquez sur Continue (Continuez):
Le provisionnement et la connexion à l'environnement ne devraient pas prendre plus de quelques minutes. Une fois connecté, vous êtes en principe authentifié et le projet est défini sur votre ID_PROJET. Exemple :
gcloud est l'outil de ligne de commande associé à Google Cloud Platform. Pré-installé sur Cloud Shell, il est également compatible avec la saisie semi-automatique via la touche de tabulation.
Vous pouvez répertorier le nom des comptes actifs à l'aide de cette commande :
Pour répertorier les ID de projet, exécutez la commande suivante :
gcloud config list project
Résultat :
[core]
project = <ID_projet>
Exemple de résultat :
[core]
project = qwiklabs-gcp-44776a13dea667a6
Préparer l'application de l'étude de cas
Dans cette section, vous allez accéder à Cloud Shell, cloner le dépôt Git qui contient l'application Quiz, configurer les variables d'environnement et exécuter l'application.
Cloner le code source dans Cloud Shell
Pour cloner le dépôt du cours, exécutez la commande suivante :
Saisissez la commande git pour valider les modifications avec le message "Quiz application initial check-in".
git commit -m "Quiz application initial check-in"
Saisissez la commande git pour envoyer les modifications dans le dépôt par défaut.
git push
Retournez dans la fenêtre Source Repository (Dépôt source) et actualisez l'onglet du navigateur.
Utiliser Cloud Debugger
Dans cette section, vous allez écrire le code permettant de créer et de lancer Cloud Debugger dans l'application Quiz. Vous définirez ensuite les instantanés et points de journalisation de débogage dans la console Cloud Platform.
Écrire le code pour configurer Cloud Debugger
Dans Cloud Shell, afin d'installer l'agent Node.js pour Cloud Debugger, exécutez la commande suivante :
cd ~/default
npm install --save @google-cloud/debug-agent
Cliquez sur Open Editor (Ouvrir l'éditeur).
Si une erreur indique que l'éditeur de code n'a pas pu être chargé parce que les cookies tiers sont désactivés, cliquez sur Open in New Window (Ouvrir dans une nouvelle fenêtre) et basculez vers le nouvel onglet.
// TODO: Add the following statement to import and start
// Stackdriver debug-agent
// The start(...) method takes an 'options' object that you
// can use to configure the Cloud Debugger agent.
// You will need to pass through an object with an
// allowExpressions Boolean property set to true.
require('@google-cloud/debug-agent').start({ allowExpressions: true });
// END TODO
Enregistrez le fichier.
Mettre à jour le dépôt Cloud Source Repositories et créer un fichier de contexte source
Retournez dans la fenêtre Cloud Shell.
Si Cloud Shell n'est pas visible, cliquez sur Open Terminal (Ouvrir le terminal).
Pour ajouter, valider et envoyer les modifications dans le dépôt Cloud Source Repositories par défaut, exécutez les commandes suivantes :
Pour installer les dépendances de l'application Quiz et la lancer, exécutez la commande suivante :
npm install
npm start
Lorsque App listening on port 8080 s'affiche, cliquez sur Web preview > Preview on port 8080 (Aperçu sur le Web > Prévisualiser sur le port 8080) pour prévisualiser l'application Quiz.
Retournez à la console Cloud Platform.
Dans le menu de navigation, cliquez sur Debugger.
Sélectionnez le fichier web-app/questions.js à l'aide du navigateur de code source.
Localisez le gestionnaire POST où sont ajoutées les questions (router.post('/add..)), puis cliquez sur le numéro de ligne situé à gauche de l'instruction vide qui suit let data = req.body. Cliquez sur Create snapshot (Créer un instantané).
Retournez dans l'application Quiz, puis cliquez sur Create Question (Créer une question).
Remplissez le formulaire à l'aide des valeurs suivantes, puis cliquez sur Save (Enregistrer).
Champ du formulaire
Valeur
Author (Auteur)
Votre nom
Quiz
Google Cloud Platform
Titre
Quelles propositions sont des produits Google Cloud ?
Answer 1 (Réponse 1)
Debug
Answer 2 (Réponse 2)
Error Reporting
Answer 3 (Réponse 3)
Logging
Answer 4 (Réponse 4)
Toutes les propositions ci-dessus(sélectionnez la réponse 4 comme étant la bonne)
Retournez dans la fenêtre Cloud Debug (Débogage Cloud) de la console Cloud Platform.
Développez la variable data.
Déboguer l'application Web avec un point de journalisation
Toujours dans le fichier questions.js, cliquez sur l'onglet Logpoint (Point de journalisation) du panneau de droite de la fenêtre Debug (Débogage).
Cliquez sur la ligne de code source utilisée pour insérer l'instantané, puis sur Create logpoint (Créer un point de journalisation).
Écrivez l'instruction de journalisation ci-dessous, puis cliquez sur Add (Ajouter).
if (true) logpoint("Quiz = {data.quiz}")
Cette instruction de journalisation affiche la valeur du champ Quiz du formulaire.
Retournez dans l'application Quiz, puis cliquez sur Create Question (Créer une question).
Remplissez le formulaire à l'aide des valeurs suivantes, puis cliquez sur Save (Enregistrer).
Champ du formulaire
Valeur
Author (Auteur)
Votre nom
Quiz
Google Cloud Platform
Titre
Quel produit Google Cloud inclut des instantanés et des points de journalisation ?
Answer 1 (Réponse 1)
Debugger(sélectionnez la réponse 1 comme étant la bonne)
Answer 2 (Réponse 2)
Error Reporting
Answer 3 (Réponse 3)
Logging
Answer 4 (Réponse 4)
All of the above
Retournez dans la fenêtre Cloud Shell.
Utiliser Cloud Error Reporting
Dans cette section, vous allez écrire le code permettant d'intégrer Cloud Error Reporting dans l'application Quiz, et examiner les erreurs dans l'application Web et Cloud Functions.
Écrire le code pour configurer Cloud Error Reporting
Dans Cloud Shell, appuyez sur Ctrl+C pour arrêter l'application Web.
Afin d'installer la bibliothèque Node.js pour Cloud Error Reporting, exécutez la commande suivante :
cd ~/default
npm install --save @google-cloud/error-reporting
Dans l'éditeur de code Cloud Shell, accédez à default/app.js.
Dans le fichier app.js, chargez le module @google-cloud/error-reporting.
Créez le client Cloud Error Reporting.
default/app.js
// TODO: Load the error-reporting module
const {ErrorReporting} = require(
'@google-cloud/error-reporting');
// END TODO
const path = require('path');
const express = require('express');
const config = require('./config');
const app = express();
// TODO: Create the errorReporting client object
const errorReporting = new ErrorReporting();
// END TODO
// TODO: Use Stackdriver Error Reporting
// middleware for Express
app.use(errorReporting.express);
// END TODO
Enregistrez le fichier.
Mettre à jour le dépôt Cloud Source Repositories et créer un fichier de contexte source
Revenez à la fenêtre Cloud Shell et exécutez les commandes suivantes pour ajouter, valider et transmettre les modifications au référentiel Cloud Source par défaut :
Afficher les erreurs de l'application Web dans Error Reporting
Par défaut, Cloud Error Reporting n'est actif que lorsque l'application est en production. Exportez une variable d'environnement NODE_ENV avec la valeur production.
export NODE_ENV=production
Pour lancer l'application, exécutez la commande suivante :
npm start
Prévisualisez l'application Web.
Retournez à la console Cloud Platform.
Dans le menu de navigation, cliquez sur Error Reporting.
Retournez dans l'application Quiz, puis cliquez sur Take Test (Faire le test).
Cliquez sur Places (Lieux).
Effectuez le quiz, saisissez une note et des commentaires, puis cliquez sur Send Feedback (Envoyer des commentaires).
Retournez à la console Cloud Platform.
Dans le menu de navigation, cliquez sur Error Reporting.
Cliquez sur Auto Reload (Actualisation automatique).
Afficher les erreurs Cloud Functions dans Error Reporting
Revenez à Cloud Shell, puis arrêtez l'application Web en appuyant sur Ctrl+C.
Pour créer le sujet Pub/Sub manquant, exécutez la commande suivante :
gcloud pubsub topics create feedback
Pour créer la fonction Cloud qui s'abonne au sujet "feedback" et insère un enregistrement dans Cloud Spanner, exécutez les commandes suivantes :
cd ~/stackdriver-debug-errorreporting/start/
gcloud functions deploy process-feedback --runtime nodejs14 \
--trigger-topic feedback --source ./function \
--stage-bucket $GCLOUD_BUCKET --entry-point subscribe
cd ~/default
Pour lancer l'application Web, exécutez la commande suivante :
npm start
Prévisualisez l'application Web.
Retournez dans l'application Quiz, puis cliquez sur Take Test (Faire le test).
Cliquez sur Places (Lieux).
Effectuez le quiz, saisissez une note et des commentaires, puis cliquez sur Send Feedback (Envoyer des commentaires).
Retournez à la console Cloud Platform.
Dans le menu de navigation, cliquez sur Error Reporting.
Cliquez sur le lien Error: ERROR processing feedback:.
Dans la section Recent samples (Exemples récents) de la fenêtre, cliquez sur le lien View logs (Afficher les journaux) associé à l'erreur Cloud Functions.
Pour créer la base de données et la table Feedback, retournez dans Cloud Shell, arrêtez l'application Web, puis exécutez la commande suivante :
Bonus : Trouver une erreur logique dans l'application Quiz
Dans cette section, vous allez trouver une erreur dans l'application Quiz et utiliser Cloud Debugger pour en identifier la cause.
Reproduire l'erreur détectée dans l'application Quiz
Lancez l'application Web.
Accédez à la page d'accueil de l'application Quiz, puis cliquez sur Take Test (Faire le test).
Cliquez sur Places (Lieux).
Répondez correctement à la question.
Cliquez sur GCP, puis une nouvelle fois sur Places (Lieux).
Donnez une mauvaise réponse à la question.
Quel score s'affiche ?
Terminer l'atelier
Une fois l'atelier terminé, cliquez sur Terminer l'atelier. Google Cloud Skills Boost supprime les ressources que vous avez utilisées, puis efface le compte.
Si vous le souhaitez, vous pouvez noter l'atelier. Sélectionnez un nombre d'étoiles, saisissez un commentaire, puis cliquez sur Envoyer.
Le nombre d'étoiles correspond à votre degré de satisfaction :
1 étoile = très insatisfait(e)
2 étoiles = insatisfait(e)
3 étoiles = ni insatisfait(e), ni satisfait(e)
4 étoiles = satisfait(e)
5 étoiles = très satisfait(e)
Si vous ne souhaitez pas donner votre avis, vous pouvez fermer la boîte de dialogue.
Pour soumettre des commentaires, suggestions ou corrections, veuillez accéder à l'onglet Assistance.
Copyright 2020 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.
Les ateliers créent un projet Google Cloud et des ressources pour une durée déterminée.
Les ateliers doivent être effectués dans le délai imparti et ne peuvent pas être mis en pause. Si vous quittez l'atelier, vous devrez le recommencer depuis le début.
En haut à gauche de l'écran, cliquez sur Démarrer l'atelier pour commencer.
Utilisez la navigation privée
Copiez le nom d'utilisateur et le mot de passe fournis pour l'atelier
Cliquez sur Ouvrir la console en navigation privée
Connectez-vous à la console
Connectez-vous à l'aide des identifiants qui vous ont été attribués pour l'atelier. L'utilisation d'autres identifiants peut entraîner des erreurs ou des frais.
Acceptez les conditions d'utilisation et ignorez la page concernant les ressources de récupération des données.
Ne cliquez pas sur Terminer l'atelier, à moins que vous n'ayez terminé l'atelier ou que vous ne vouliez le recommencer, car cela effacera votre travail et supprimera le projet.
Ce contenu n'est pas disponible pour le moment
Nous vous préviendrons par e-mail lorsqu'il sera disponible
Parfait !
Nous vous contacterons par e-mail s'il devient disponible
Un atelier à la fois
Confirmez pour mettre fin à tous les ateliers existants et démarrer celui-ci
Utilisez la navigation privée pour effectuer l'atelier
Ouvrez une fenêtre de navigateur en mode 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.
Dans cet atelier, vous allez exploiter Cloud Debugger et Error Reporting pour diagnostiquer et corriger les erreurs dans l'application en cours d'exécution.
Durée :
0 min de configuration
·
Accessible pendant 120 min
·
Terminé après 120 min