Présentation
Dans cet atelier, vous allez déployer une application sur App Engine, puis créer des règles d'alerte pour recevoir une notification lorsque l'application n'est pas accessible ou génère des erreurs.
Objectifs
Dans cet atelier, vous allez apprendre à effectuer les tâches suivantes :
- Télécharger un exemple d'application depuis GitHub
- Déployer une application sur App Engine
- Créer des alertes et des tests de disponibilité
- Créer une règle d'alerte à l'aide de la CLI (facultatif)
Préparation
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.
-
Cliquez sur le bouton Démarrer l'atelier. Si l'atelier est payant, un pop-up 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 afficher un menu contenant la liste des produits et services Google Cloud, cliquez sur le menu de navigation en haut à gauche, ou saisissez le nom du service ou du produit dans le champ Recherche.
Une fois la connexion initiale effectuée, le tableau de bord du projet s'affiche.

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 vous permet d'accéder à vos ressources Google Cloud grâce à une ligne de commande.
-
Dans la barre d'outils située en haut à droite dans la console Cloud, cliquez sur le bouton "Ouvrir Cloud Shell".

-
Cliquez sur Continuer.
Le provisionnement et la connexion à l'environnement prennent quelques instants. Une fois connecté, vous êtes en principe authentifié et le projet est défini sur votre ID_PROJET. Par exemple :

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.
- Vous pouvez lister les noms des comptes actifs à l'aide de cette commande :
gcloud auth list
Résultat :
Credentialed accounts:
- @.com (active)
Exemple de résultat :
Credentialed accounts:
- google1623327_student@qwiklabs.net
- Vous pouvez lister les ID de projet à l'aide de cette commande :
gcloud config list project
Résultat :
[core]
project =
Exemple de résultat :
[core]
project = qwiklabs-gcp-44776a13dea667a6
Remarque : Pour consulter la documentation complète sur gcloud, accédez au guide de présentation de la gcloud CLI.
Exécutez les commandes suivantes pour mettre à jour l'environnement Python.
python3 -m pip install --upgrade pip
python3 -m venv myenv
source myenv/bin/activate
Tâche 1 : Télécharger une application exemple depuis GitHub et la tester
-
Clonez le dépôt Google Training Data Analyst depuis GitHub dans votre environnement Cloud Shell. Il contient une application simple qui répond parfaitement aux exigences de cet exercice.
git clone --depth 1 https://github.com/GoogleCloudPlatform/training-data-analyst.git
-
Une fois le clonage terminé, accédez au dossier deploying-apps-to-gcp dans le dépôt qui contient notre application exemple :
cd ~/training-data-analyst/courses/design-process/deploying-apps-to-gcp
-
Ouvrez le fichier main.py dans l'éditeur Cloud Shell. Si vous y êtes invité, cliquez sur Ouvrir dans une nouvelle fenêtre. Prenez quelques minutes pour explorer l'application Python Flask de base "Hello GCP".
edit main.py
-
Fermez l'éditeur et revenez au terminal Cloud Shell. En haut à droite, cliquez sur Ouvrir le terminal pour ouvrir la fenêtre de terminal. Pour tester le programme, chargez toutes les dépendances de l'application Python, puis démarrez l'application.
pip3 install -r requirements.txt
python3 main.py
-
Pour afficher le programme en cours d'exécution, cliquez sur le bouton Aperçu sur le Web dans la barre d'outils de Cloud Shell, puis sélectionnez Prévisualiser sur le port 8080.

Le programme doit ouvrir un nouvel onglet de navigateur et afficher le message Hello GCP.
- Fermez l'onglet, revenez à Cloud Shell, puis appuyez sur CTRL+C pour quitter le serveur Flask en cours d'exécution.
Tâche 2 : Déployer une application sur App Engine
Maintenant que nous savons que l'application fonctionne, déployons-la sur App Engine.
-
Accédez à l'éditeur de code Cloud Shell (ou rouvrez-le). Développez le dossier training-data-analyst/courses/design-process/deploying-apps-to-gcp dans l'arborescence de l'explorateur située à gauche.
-
Dans le menu Fichier, sélectionnez Nouveau fichier, puis nommez le fichier app.yaml.
-
Collez le code suivant dans le fichier que vous venez de créer :
runtime: python312
-
Pour vous assurer que le fichier est enregistré, sélectionnez Fichier > Enregistrer.
Pour tout projet que vous souhaitez utiliser, vous devez d'abord créer une application App Engine. Cette opération doit être exécutée une fois par projet à l'aide de la console ou de la commande gcloud app create. Dans les deux cas, vous devez spécifier la région dans laquelle vous souhaitez créer l'application.
-
Exécutez la commande ci-dessous dans votre terminal Cloud Shell. Vous devrez peut-être cliquer sur Autoriser pour permettre à Cloud Shell d'effectuer cette modification :
gcloud app create --region={{{project_0.startup_script.app_region|Region}}}
-
Déployez l'application de base sur App Engine. La commande ci-dessous recherche l'application dans le répertoire actuel. Elle voit le fichier "app.yaml" déclarant qu'il s'agit d'une application Python, suppose que le reste du dossier contient l'application elle-même et utilise "main.py" comme point de départ. Elle charge les dépendances, crée un package de l'application et la déploie sur App Engine en tant que service.
gcloud app deploy --version=one --quiet
-
Attendez que le déploiement de l'application se termine.
-
Dans la fenêtre de la console Google Cloud, accédez au menu de navigation (
) et cliquez sur Afficher tous les produits > Sans serveur > App Engine > Tableau de bord.
-
En haut à droite du tableau de bord, un lien vers votre application est affiché. Il doit être semblable à celui-ci :

Remarque : Par défaut, l'URL d'une application App Engine se présente sous la forme https://project-id.wl.r.appspot.com.
-
Cliquez sur le lien pour tester l'application que vous venez de déployer. Elle doit fonctionner exactement comme lorsque nous l'avons exécutée dans Cloud Shell.
-
Cliquez plusieurs fois sur "Actualiser" pour que Google Cloud puisse recueillir des exemples de données.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Déployer une application sur App Engine
Tâche 3 : Examiner les journaux App Engine
-
Revenez à la console, puis à gauche, sous App Engine, cliquez sur le lien Versions.
-
Sélectionnez Journaux dans la colonne Diagnostiquer.

- Les requêtes que vous venez d'effectuer s'affichent dans les journaux. Si vous parvenez trop rapidement à cette étape, patientez quelques secondes et cliquez sur le bouton Heure actuelle.
Tâche 4 : Créer une alerte de latence App Engine
Maintenant que l'application fonctionne, créons une alerte permettant de repérer une latence anormalement élevée. Pour commencer, examinons la latence actuelle de notre application.
Vérifier la latence actuelle de l'application dans l'explorateur de métriques
-
Dans la console Google Cloud, accédez au menu de navigation, cliquez sur Afficher tous les produits, puis accédez à Observabilité > Monitoring > Explorateur de métriques.
-
Déroulez le menu Sélectionner une métrique et décochez l'option Active.
-
Définissez Métrique sur GAE Application > Http > Response latency (Application GAE > HTTP > Latence de réponse). Cliquez sur Appliquer. Assurez-vous que vous utilisez une métrique App Engine, et non une métrique de test de disponibilité. La deuxième option ne fonctionnera pas, car nous n'avons pas encore défini de test de disponibilité.
-
Dans le champ Agrégation, déroulez le menu et sélectionnez 99e centile.
-
Prenez quelques instants pour examiner le graphique.
Même si nous disposons de peu de données, nous devrions en avoir assez pour afficher une ligne de graphique indiquant le temps moyen nécessaire pour que notre application renvoie une réponse aux 99 % de requêtes les plus rapides en éliminant 1 % d'anomalies.
Créer une alerte basée sur la même métrique
Notre application fonctionne maintenant comme prévu. Des réponses lentes ont pu être observées lorsque l'application a été lancée pour la première fois, mais en moyenne, les temps de réponse devraient être inférieurs à 200 ms.
À présent, nous allons créer une alerte qui va nous avertir si les temps de réponse sont supérieurs à 5 s pendant plus d'une minute.
-
Dans la console Google Cloud, accédez au menu de navigation (
), puis cliquez sur Afficher tous les produits > Observabilité > Monitoring > Alertes.
-
En haut de la page, cliquez sur Modifier les canaux de notification et faites défiler l'écran jusqu'à la section "E-mail". Utilisez Ajouter pour ajouter votre adresse e-mail comme canal de notification valide. Saisissez le nom de votre choix pour Nom à afficher, puis cliquez sur Enregistrer.
-
Revenez à la page principale Alertes, puis cliquez sur Créer une règle.
-
Cliquez sur Sélectionner une métrique et décochez l'option Active pour afficher la même page de l'explorateur de métriques. Une fois encore, définissez Métrique sur GAE Application > Http > Response latency (Application GAE > HTTP > Latence de réponse). Cliquez sur Appliquer. Définissez Fenêtre glissante sur 1 min, puis cliquez sur Suivant.
Comme vous pouvez le constater, une section Configuration a été ajoutée en bas à gauche de la fenêtre standard "Explorateur de métriques".
-
Configurez une condition pour qu'une alerte se déclenche À chaque infraction de série temporelle si la Position du seuil est Au-dessus du seuil et que la Valeur de seuil est de 8 000 ms.
-
Définissez le nom de la condition sur Latence de réponse [MOYENNE] pour le 99e centile au-delà de 8 s.
-
Prenez quelques instants pour examiner le graphique de l'alerte. Il est identique à celui que nous avons créé précédemment avec l'explorateur de métriques, mais cette fois, une ligne d'alerte doit être tracée à 8 s.
-
Cliquez sur Suivant.
-
À l'étape Notifications et nom, développez Canal de notification, cochez votre nom, puis cliquez sur OK (il s'agit du canal de notification que vous avez créé précédemment dans cette section).
-
Nommez l'alerte Application Hello trop lente, puis cliquez sur Suivant. Examinez l'alerte, puis cliquez sur Créer une règle.
-
Mettez à jour le code de l'application pour ajouter un délai. Revenez à l'éditeur de code Cloud Shell. Développez le dossier training-data-analyst/courses/design-process/deploying-apps-to-gcp dans l'arborescence de l'explorateur située à gauche.
-
Cliquez sur le fichier main.py pour l'ouvrir dans l'éditeur. En haut du fichier, à la ligne 2, ajoutez les instructions d'importation suivantes (dont certaines seront utilisées plus tard dans l'exercice) :
import time
import random
import json
-
Remplacez la fonction main() actuelle par celle indiquée ci-dessous. Cette nouvelle version ajoute une commande "sleep" qui met le code en pause pendant 10 secondes au milieu de chaque requête. Cette durée est largement supérieure au seuil.
@app.route("/")
def main():
model = {"title": "Hello GCP."}
time.sleep(10)
return render_template('index.html', model=model)
-
À présent, redéployez l'application en exécutant de nouveau la commande suivante :
gcloud app deploy --version=two --quiet
-
Attendez que l'exécution de la commande de redéploiement soit terminée.
-
Une fois la commande exécutée, accédez de nouveau à Sans serveur > App Engine > Tableau de bord et vérifiez que le lien fonctionne.
-
Pour générer une charge cohérente, saisissez la commande suivante dans Cloud Shell :
while true; do curl -s https://$DEVSHELL_PROJECT_ID.appspot.com/ | grep -e "<title>" -e "error";sleep .$[( $RANDOM % 10 )]s;done
Remarque : Cette commande envoie des requêtes à l'application App Engine de façon continue (boucle). La commande "grep" affiche le titre de la page lorsque la requête aboutit. Si la requête échoue, elle affiche l'erreur correspondante. À chaque itération, le thread est mis en veille pendant une durée aléatoire de moins d'une seconde. Toutefois, étant donné le délai de réponse de 10 s, cette durée va sembler beaucoup plus longue.
-
Patientez quelques instants (en général, environ cinq minutes). Vous devriez recevoir un e-mail vous signalant l'alerte. Revenez alors au terminal Cloud Shell et appuyez sur CTRL+C pour arrêter la boucle du testeur de charge.
-
Dans la console Google Cloud, accédez au menu de navigation (
), puis cliquez sur Afficher tous les produits > Observabilité > Monitoring > Alertes.
Vous pouvez remarquer qu'une alerte s'est déclenchée et qu'un incident a été créé.
-
Cliquez sur l'incident pour en afficher les détails.
-
Examinez la page d'informations, faites-la défiler jusqu'en haut et sélectionnez Confirmer l'incident.
-
Revenez à la page principale Alertes et observez les modifications.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Créer une alerte de latence App Engine
Tâche 5 : Créer une règle d'alerte à l'aide de la CLI (facultatif)
La CLI et l'API d'alerte peuvent s'avérer très efficaces pour appliquer des règles d'alerte à l'aide de code ou de scripts.
-
Revenez à l'éditeur de code Cloud Shell. Sélectionnez le dossier training-data-analyst/courses/design-process/deploying-apps-to-gcp dans l'arborescence de l'explorateur à gauche.
-
Dans le menu Fichier, sélectionnez Nouveau fichier, puis nommez le fichier app-engine-error-percent-policy.json.
-
Créez une règle d'alerte qui divise le nombre d'erreurs 500 par le nombre total de réponses, puis se déclenche lorsque le nombre d'erreurs 500 dépasse 1 %. Collez le code suivant dans le fichier que vous venez de créer :
{
"displayName": "HTTP error count exceeds 1 percent for App Engine apps",
"combiner": "OR",
"conditions": [
{
"displayName": "Ratio: HTTP 500s error-response counts / All HTTP response counts",
"conditionThreshold": {
"filter": "metric.label.response_code>=\"500\" AND metric.label.response_code<\"600\" AND metric.type=\"appengine.googleapis.com/http/server/response_count\" AND resource.type=\"gae_app\"",
"aggregations": [
{
"alignmentPeriod": "60s",
"crossSeriesReducer": "REDUCE_SUM",
"groupByFields": [
"project",
"resource.label.module_id",
"resource.label.version_id"
],
"perSeriesAligner": "ALIGN_DELTA"
}
],
"denominatorFilter": "metric.type=\"appengine.googleapis.com/http/server/response_count\" AND resource.type=\"gae_app\"",
"denominatorAggregations": [
{
"alignmentPeriod": "60s",
"crossSeriesReducer": "REDUCE_SUM",
"groupByFields": [
"project",
"resource.label.module_id",
"resource.label.version_id"
],
"perSeriesAligner": "ALIGN_DELTA"
}
],
"comparison": "COMPARISON_GT",
"thresholdValue": 0.01,
"duration": "0s",
"trigger": {
"count": 1
}
}
}
]
}
-
Enregistrez votre fichier. Vérifiez que vous vous trouvez dans le dossier approprié et que votre règle d'alerte y a été enregistrée.
cd ~/training-data-analyst/courses/design-process/deploying-apps-to-gcp
ls
-
Déployez la règle d'alerte à l'aide de la commande suivante :
gcloud alpha monitoring policies create --policy-from-file="app-engine-error-percent-policy.json"
-
Dans la console Google Cloud, accédez au menu de navigation (
), puis cliquez sur Observabilité > Monitoring > Alertes. La règle d'alerte que vous venez de déployer doit s'afficher dans la section Règles.
-
Cliquez sur votre règle HTTP error... pour afficher les détails de cette règle. Modifiez le canal de notification afin de recevoir un e-mail lorsque l'alerte se déclenche.
-
Déployez l'application App Engine avec une erreur aléatoire pour tester cette règle. Revenez à l'éditeur de code Cloud Shell. Développez le dossier training-data-analyst/courses/design-process/deploying-apps-to-gcp dans l'arborescence de l'explorateur située à gauche.
-
Ouvrez le fichier main.py dans l'éditeur Cloud Shell.
-
Remplacez la fonction main() actuelle par celle indiquée ci-dessous. Cette nouvelle fonction supprime la commande "sleep" et utilise le générateur de nombres aléatoires pour renvoyer une erreur 500 dans environ 2 % des cas. Cela devrait suffire à déclencher votre règle de comptage des erreurs HTTP.
@app.route("/")
def main():
num = random.randrange(49)
if num == 0:
return json.dumps({"error": 'Error thrown randomly'}), 500
else:
model = {"title": "Hello GCP."}
return render_template('index.html', model=model)
-
Redéployez votre application à l'aide de la commande suivante :
gcloud app deploy --version=two --quiet
-
Attendez que l'exécution de la commande de redéploiement soit terminée.
-
Une fois la commande exécutée, accédez de nouveau à App Engine > Tableau de bord et vérifiez que le lien fonctionne.
-
Dans Cloud Shell, réexécutez la commande de générateur de charge que vous avez utilisée précédemment :
while true; do curl -s https://$DEVSHELL_PROJECT_ID.appspot.com/ | grep -e "<title>" -e "error";sleep .$[( $RANDOM % 10 )]s;done
Dans Cloud Shell, une erreur doit s'afficher de manière aléatoire dans environ 2 % des cas. Laissez la commande s'exécuter.
-
Dans la console Google Cloud, accédez au menu de navigation (
), puis cliquez sur Observabilité > Monitoring > Alertes et attendez encore quelques minutes. Un incident d'alerte devrait se déclencher et vous devriez recevoir un e-mail. Soyez patient, car ces événements n'ont pas lieu immédiatement.
-
Une fois que vous avez reçu l'e-mail et que l'incident s'est déclenché, revenez à Cloud Shell et appuyez sur CTRL+C pour arrêter les requêtes.
Si vous patientez encore quelques minutes, l'incident se résout de lui-même et vous recevez un autre e-mail.
-
Pour être sûr de ne plus recevoir d'e-mails après la suppression du projet, supprimez vos canaux de notification. Cliquez sur la règle Nombre d'erreurs HTTP pour en afficher les détails. Cliquez sur le lien Modifier, développez le canal de notification et décochez votre nom. Désactivez l'option Utiliser un canal de notification. Enregistrez les modifications et supprimez la règle.
-
Répétez l'étape précédente pour votre règle d'alerte de test de disponibilité.
Récapitulatif
Dans cet exercice, vous avez utilisé la console Google Cloud et Google Cloud CLI pour créer et tester des règles d'alerte. Bravo !
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 2025 Google LLC Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms de société et de produit peuvent être des marques des sociétés auxquelles ils sont associés.