Guide de démarrage rapide d'Error Reporting

Error Reporting offre un emplacement unique pour surveiller les conditions d'erreur de toutes les applications et de tous les services d'un projet Google Cloud et des applications Amazon Elastic Compute Cloud (EC2).

Découvrez comment effectuer les opérations suivantes:

  1. simuler une erreur de service dans un projet Cloud ;

  2. Utilisez Error Reporting pour afficher l'erreur et modifier son état pour faire savoir aux membres de votre équipe que le problème est en cours de résolution.

  3. configurer des notifications afin d'être averti lorsque de nouveaux types d'erreurs se produisent.


Pour obtenir des conseils détaillés sur cette tâche directement dans Cloud Console, cliquez sur Visite guidée:

VISITE GUIDÉE


La procédure décrite dans les sections suivantes, est la même que si vous cliquez sur Visite guidée.

Avant de commencer

  1. Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
  2. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  3. Assurez-vous que la facturation est activée pour votre projet Cloud. Découvrez comment vérifier que la facturation est activée pour votre projet.

  4. Ouvrez une fenêtre Cloud Shell pour le projet. Le message Connexion… s'affiche pendant le démarrage de la session.

    Ouvrez Cloud Shell.

Simuler une erreur dans un projet Cloud

  1. Pour générer 11 exemples d'erreurs, exécutez le script suivant dans Cloud Shell :

      COUNTER=0
      while [  $COUNTER -lt 11 ]; do
          gcloud beta error-reporting events report --service tutorial --service-version v$((COUNTER/10+1)) \
              --message "java.lang.RuntimeException: Error rendering template $COUNTER
                at com.example.TestClass.test(TestClass.java:51)
                at com.example.AnotherClass(AnotherClass.java:25)
                at javax.servlet.http.HttpServlet.service (HttpServlet.java:617)
                at javax.servlet.http.HttpServlet.service (HttpServlet.java:717)"
          if [ $COUNTER -eq 10 ]; then
            echo "All sample errors reported."
          fi
          let COUNTER=COUNTER+1
      done
    

    Une fois que le script a généré toutes les erreurs, il renvoie la ligne suivante :

    All sample errors reported.

Afficher les erreurs dans Error Reporting

  1. Accédez à Error Reporting :

    Accéder à Error Reporting

    Le tableau de bord Error Reporting affiche un résumé de chaque erreur trouvée et le nombre d'occurrences de chaque erreur. Par défaut, Error Reporting actualise automatiquement la liste des erreurs toutes les 5 secondes. Pour forcer l'actualisation immédiate, cliquez sur Actualisation automatique.

    La colonne Occurrences indique le nombre de messages pour chaque type d'erreur, avec un graphique temporel:

    Interface utilisateur affichant les occurrences par lots des exemples d'erreurs.

  2. Cliquez sur le nom de l'erreur pour afficher la page de détails correspondante, qui contient toutes les informations disponibles sur une erreur, y compris des liens vers le code source:

    Interface utilisateur affichant la page d'informations sur l'erreur.

Configurer les notifications

Vous pouvez configurer Error Reporting pour vous avertir de l'arrivée d'un nouveau type d'erreur. Les notifications ne sont pas envoyées lorsqu'il y a de nouvelles occurrences d'erreurs existantes :

  1. Accédez à Error Reporting :

    Accéder à Error Reporting

  2. Pour activer les notifications par e-mail, cliquez sur Plus , puis sélectionnez Activer l'envoi des nouvelles notifications d'erreur pour le projet dans la liste déroulante.

  3. Pour générer de nouveaux types d'erreurs, cliquez sur Activer Cloud ShellBouton d'activation de Cloud Shell et exécutez le script suivant:

      COUNTER=0
      while [ $COUNTER -lt 3 ]; do
            gcloud beta error-reporting events report --service tutorial --service-version v1 \
                --message "java.lang.ArrayIndexOutOfBoundsException: $COUNTER
                  at com.example.AppController.createUser(AppController.java:42)
                  at com.example.User(User.java:31)
                  at javax.servlet.http.HttpServlet.service (HttpServlet.java:617)
                  at javax.servlet.http.HttpServlet.service (HttpServlet.java:717)"
          if [ $COUNTER -eq 10 ]; then
            echo "All sample errors reported."
          fi
          let COUNTER=COUNTER+1
      done
    

    Une fois que le script a généré toutes les erreurs, il renvoie la ligne suivante :

    All sample errors reported.

  4. Vérifiez dans votre messagerie si vous avez reçu un message de "Stackdriver Notifications".

Générer des messages d'erreur à partir d'une application App Engine

Bien que les exemples de messages que vous avez générés à partir des scripts simulent entièrement les conditions d'erreur dans Error Reporting, si vous souhaitez générer des erreurs à partir d'un service réel qui s'exécute dans votre projet Cloud, suivez la procédure décrite dans cette section.

Premiers pas

Pour télécharger et déployer une application sur App Engine, procédez comme suit:

  1. Téléchargez et configurez l'application à partir du projet GitHub python-docs-samples :

    1. Clonez le projet dans l'environnement Cloud Shell :

      git clone https://github.com/GoogleCloudPlatform/python-docs-samples
      

      Git renvoie un message semblable à celui indiqué ci-dessous :

      git clone https://github.com/GoogleCloudPlatform/python-docs-samples
      Cloning into 'python-docs-samples'...
      
    2. Créez un environnement Python isolé et activez-le :

      cd python-docs-samples/appengine/standard_python3/hello_world
      virtualenv env -p python3
      source env/bin/activate
      
    3. Installez les dépendances :

      pip install -r requirements.txt
      
  2. Vérifiez que l'installation et la configuration de l'application ont réussi :

    1. Exécutez l'application :

      python main.py
      
    2. Pour afficher l'application sur une page Web locale, cliquez sur le lien affiché dans Cloud Shell. La page Web affiche le message Hello World!.

    3. Pour arrêter votre application en cours d'exécution, saisissez Ctrl-C dans Cloud Shell.

  3. Transférez l'application sur App Engine.

    gcloud app deploy
    

    Si vous êtes invité à indiquer une région de déploiement, sélectionnez-en une près de chez vous. Lorsque vous êtes invité à poursuivre l'opération, entrez Y. L'importation se termine après quelques instants.

  4. Affichez l'application dans un navigateur en exécutant la commande suivante dans Cloud Shell :

    gcloud app browse
    

    Si le SDK Cloud ne trouve pas votre navigateur, la commande précédente affiche un message d'erreur et un lien. Cliquez sur le lien affiché. Le message Hello, World! s'affiche dans le navigateur.

Générer une erreur

Pour créer une erreur qu'Error Reporting détecte et affiche:

  1. Modifiez le fichier main.py en remplaçant

    return 'Hello World!
    

    à

    return 'Hello World!' + 1000
    

    Lorsqu'elle est exécutée, cette modification entraîne une exception TypeError Python, car il est illégal de concaténer une chaîne et un entier.

  2. Téléchargez l'application modifiée sur App Engine :

    gcloud app deploy
    
  3. Retournez à l'onglet du navigateur contenant l'application en cours d'exécution et actualisez la page. En raison de la modification, la page affiche un message d'erreur au lieu du message Hello, World! :

    Internal Server Error
    The server encountered an internal error and was unable to complete your
    request. Either the server is overloaded or there is an error in the
    application.
    

    Si vous ne voyez pas ce message, attendez une minute et actualisez à nouveau la page. L'activation de la nouvelle version peut prendre quelques instants.

Afficher l'erreur dans Error Reporting

Affichez l'erreur comme décrit dans Afficher les erreurs dans Error Reporting.

Effectuer un nettoyage

Pour éviter que les ressources utilisées sur cette page soient facturées sur votre compte Google Cloud :

  1. Dans Cloud Console, accédez à la page Gérer les ressources.

    Accéder à la page Gérer les ressources

  2. Dans la liste des projets, sélectionnez le projet que vous souhaitez supprimer, puis cliquez sur Supprimer.
  3. Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez sur Arrêter pour supprimer le projet.

Étape suivante