Cette page a été traduite par l'API Cloud Translation.
Switch to English

Définir une alerte de disponibilité

Ce tutoriel explique comment configurer une alerte de disponibilité pour l'application Hello World pour Python s'exécutant dans l'environnement flexible App Engine à l'aide de Cloud Monitoring. Les alertes de disponibilité vous informent lorsque votre application ne diffuse pas de trafic. Vous pouvez également définir des alertes de disponibilité pour les applications exécutées sur Compute Engine ou Google Kubernetes Engine (GKE).

Objectifs

  • Exécutez une application Hello World de base.
  • Créez un test de disponibilité qui vérifie si l'application renvoie un code d'état HTTP 200.
  • Créez une alerte qui vous envoie un e-mail en cas d'échec du test de disponibilité.
  • Redémarrez l'application pour déclencher l'alerte.

Coûts

Monitoring est actuellement offert gratuitement aux utilisateurs bêta.

Avant de commencer

  1. Connectez-vous à votre compte Google.

    Si vous n'en possédez pas déjà un, vous devez en créer un.

  2. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder à la page de sélection du 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.

Cloner l'exemple d'application

L'exemple d'application est disponible sur GitHub à l'adresse GoogleCloudPlatform/getting-started-python.

  1. Clonez le dépôt.

    git clone https://github.com/GoogleCloudPlatform/getting-started-python.git
    
  2. Accédez au répertoire de l'exemple :

    cd getting-started-python/1-hello-world
    
  3. Comme l'application ne renvoie que "Hello World!", elle ne nécessite aucune configuration et vous pouvez l'exécuter immédiatement.

    gcloud app deploy
    
  4. Pour afficher le message renvoyé, saisissez l'URL suivante dans votre navigateur :

    https://PROJECT_ID.REGION_ID.r.appspot.com

    Remplacez l'élément suivant :

Configurer Cloud Monitoring pour votre projet

Une fois que vous avez configuré Monitoring et déployé votre application, vous pouvez l'utiliser pour créer un test de disponibilité. La vérification pingue en continu votre application déployée pour s'assurer qu'elle renvoie une réponse opérationnelle.

Pour configurer un espace de travail Cloud Monitoring pour votre projet, procédez comme suit :
  1. Dans Cloud Console, sélectionnez votre projet Google Cloud.
    Accéder à Cloud Console
  2. Dans le volet de navigation, sélectionnez Surveillance.

    Si vous n'avez jamais utilisé Cloud Monitoring, la première fois que vous y accédez dans Google Cloud Console, un espace de travail est automatiquement créé et votre projet lui est associé. Sinon, si votre projet n'est pas associé à un espace de travail, une boîte de dialogue s'affiche. Vous pouvez soit créer un espace de travail, soit ajouter le projet à un espace de travail existant. Nous vous recommandons de créer un espace de travail. Après avoir effectué votre sélection, cliquez sur Ajouter.

Créer un test de disponibilité

  1. Dans Cloud Console, accédez à Monitoring :

    Accéder à Monitoring

  2. Dans le volet de navigation, cliquez sur Tests de disponibilité, puis sur Créer un test de disponibilité.

  3. Donnez un titre au test, tel que Check Hello World, puis cliquez sur Suivant.

  4. Dans la section Cible, spécifiez ce que le test de disponibilité doit surveiller:

    1. Étant donné que vous avez déployé l'application sur App Engine, remplacez Type de ressource par App Engine au lieu de URL. (URL permet de générer une URL personnalisée sur une instance Compute Engine.)
    2. Sélectionnez le Service à surveiller par le test de disponibilité.
    3. Laissez le champ Chemin vide pour accéder par défaut à la page d'index principale.
    4. Laissez le champ Vérifier la fréquence à la valeur par défaut de 1 minute.
    5. Cliquez sur Next (Suivant).
  5. Laissez les champs Validation de la réponse à leurs valeurs par défaut, puis cliquez sur Suivant.

  6. Dans la section Alertes et notifications, spécifiez la manière dont vous êtes notifié en cas d'alerte:

    • Assurez-vous que le libellé du bouton bascule est Alerting is enabled (Les alertes sont activées).
    • Conservez les valeurs par défaut des champs de nom et de durée.
    • Pour ajouter un canal de notification à la règle d'alerte, dans la zone de texte intitulée Notification channels (Canaux de notification), cliquez sur Menu . Sélectionnez les canaux à ajouter, puis cliquez sur OK. Les notifications sont regroupées par ordre alphabétique pour chaque type de canal.

      Pour ajouter une entrée à la liste des cases à cocher, cliquez sur Manage notification channels (Gérer les canaux de notification) et suivez les instructions. Lorsque vous revenez à cette boîte de dialogue, cliquez sur Refresh (Actualiser) .

  7. Cliquez sur Create (Créer). Lorsque l'opération de création aboutit, le message Check and alert created (Test et alerte créés) s'affiche, puis la page du tableau de bord Tests de disponibilité s'affiche.

    Le nouveau test de disponibilité est répertorié dans le tableau de bord des tests de disponibilité. Si vous cliquez sur le nom du test, vous ouvrez la vue détaillée de ce test de disponibilité. Cette vue affiche plusieurs graphiques, indique le pourcentage de temps d'activité et les informations de configuration, et répertorie les règles d'alerte configurées. Pour afficher une règle, cliquez sur son nom.

    Vous pouvez également afficher la règle d'alerte sur la page Alertes. Le volet Règles de la page "Alertes" répertorie un sous-ensemble de règles. Pour afficher la liste de toutes les règles, cliquez sur Afficher toutes les règles.

Simuler une panne

Maintenant que le test de disponibilité est créé, vous pouvez simuler une panne en modifiant votre application pour qu'elle renvoie une erreur HTTP 404 Sorry, we can't find that page plutôt qu'une réponse HTTP 200 OK.

  1. Le code suivant montre où l'application Hello World ne renvoie qu'un message "Hello World!" et le code d'état de la réponse est défini par défaut sur 200 OK. Pour afficher ce code dans l'application Hello World, utilisez la fonction d'affichage.

    from flask import Flask
    
    app = Flask(__name__)
    
    @app.route('/')
    def hello():
        """Return a friendly HTTP greeting."""
        return 'Hello World!'
    
    if __name__ == '__main__':
        app.run(host='127.0.0.1', port=8080)
  2. Pour que l'application Hello World renvoie un code d'erreur HTTP 404, modifiez la ligne de retour en ajoutant une valeur 404 à la deuxième partie de la valeur renvoyée.

    return 'Hello World', 404
  3. Déployez la nouvelle application délibérément défectueuse.

    gcloud app deploy

    Dans un délai d'une demi-heure, vous recevrez un e-mail indiquant que votre test de disponibilité a échoué.

Nettoyer

Pour éviter que les ressources utilisées lors de ce tutoriel soient facturées sur votre compte Google Cloud, supprimez le projet contenant les ressources, ou conservez le projet et les ressources individuelles.

Le moyen le plus simple d'empêcher la facturation est de supprimer le projet que vous avez créé pour ce tutoriel.

Pour supprimer le projet :

  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.