Guide de démarrage rapide : Cloud Logging pour les VM Compute Engine

Guide de démarrage rapide : Cloud Logging pour les VM Compute Engine

Ce document explique comment afficher les journaux syslog collectés à partir d'un serveur Web Apache installé sur une instance de machine virtuelle (VM) Compute Engine. Vous pouvez utiliser un processus semblable à celui présenté dans ce guide de démarrage rapide pour surveiller les applications tierces.

Dans ce guide de démarrage rapide, vous allez :

  1. créer une instance de VM Compute Engine ;
  2. installer un serveur Web Apache ;
  3. installer et configurer l'agent Ops pour le serveur Web Apache ;
  4. afficher les journaux dans l'explorateur de journaux ;
  5. créer une alerte basée sur les journaux ;
  6. effectuer un nettoyage.

Pour obtenir des instructions détaillées sur cette tâche directement dans la console Google Cloud, cliquez sur Visite guidée :

Visite guidée


Avant de commencer

Les contraintes de sécurité définies par votre organisation peuvent vous empêcher d'effectuer les étapes suivantes. Pour obtenir des informations de dépannage, consultez la page Développer des applications dans un environnement Google Cloud limité.

Pour pouvoir réaliser cet exercice de démarrage rapide, vous devez disposer d'un projet Google Cloud avec la facturation activée. Si vous n'avez pas de projet Google Cloud ou si la facturation n'est pas activée pour votre projet Google Cloud, procédez comme suit:

  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. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  4. 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

  5. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  6. Si vous avez configuré un canal de notification par e-mail, ignorez cette étape.

    Pour configurer un canal de notification par e-mail, procédez comme suit :

    1. Dans la console Google Cloud, sélectionnez Monitoring, puis  Alertes, ou cliquez sur le bouton suivant:

      Accéder à l'interface des alertes

    2. Cliquez sur Modifier les canaux de notification.
    3. Dans la section E-mail, cliquez sur Ajouter et remplissez la boîte de dialogue.

Créer une instance de VM Compute Engine

Nous vous recommandons de créer une instance de VM Compute Engine pour ce démarrage rapide, car vous installez et configurez des logiciels.

  1. Dans la console Google Cloud, sélectionnez Compute Engine, puis Instances de VM ou cliquez sur le bouton suivant :

    Accéder à la page Instances de VM

  2. Cliquez sur Créer une instance.

  3. Renseignez les champs relatifs à votre instance comme suit :

    • Dans le champ Nom, saisissez quickstart-vm.
    • Dans le champ Type de machine, sélectionnez Small.
    • Assurez-vous que le disque de démarrage est configuré pour Debian GNU/Linux.
    • Dans le champ Pare-feu, sélectionnez Autoriser le trafic HTTP et Autoriser le trafic HTTPS.

    Conservez les valeurs par défaut dans les autres champs.

  4. Cliquez sur Créer. Lorsque votre VM est prête, elle apparaît dans la liste des instances de l'onglet Instances.

Installer un serveur Web Apache

Pour déployer un serveur Web Apache sur votre instance de VM Compute Engine, procédez comme suit:

  1. Pour ouvrir un terminal sur l'instance, cliquez sur SSH dans la colonne Connecter.

  2. Pour mettre à jour les listes de packages sur votre instance, exécutez la commande suivante :

    sudo apt-get update
    
  3. Pour installer un serveur HTTP Apache2, exécutez la commande suivante :

    sudo apt-get install apache2 php7.0
    
  4. Ouvrez votre navigateur et connectez-vous au serveur HTTP Apache2 à l'aide de l'URL http://EXTERNAL_IP, où EXTERNAL_IP correspond à l'adresse IP externe de votre VM. Vous la trouverez dans la colonne Adresse IP externe de votre instance de VM.

    La page par défaut d'Apache2 s'affiche :

    Affichage de la page par défaut d'Apache2.

Installer et configurer l'agent Ops

Pour collecter des journaux et des métriques à partir de votre serveur Web Apache, installez l'agent Ops à l'aide du terminal:

  1. Pour ouvrir un terminal sur votre instance de VM, cliquez sur SSH dans la colonne Connecter.

  2. Pour installer l'agent Ops, exécutez la commande suivante :

       curl -sSO https://dl.google.com/cloudagents/add-google-cloud-ops-agent-repo.sh
       sudo bash add-google-cloud-ops-agent-repo.sh --also-install
    

    Vous voyez alors le message : google-cloud-ops-agent installation succeeded.

  3. Copiez la commande suivante, puis collez-la dans le terminal :

    # Configures Ops Agent to collect telemetry from the app and restart Ops Agent.
    
    set -e
    
    # Create a back up of the existing file so existing configurations are not lost.
    sudo cp /etc/google-cloud-ops-agent/config.yaml /etc/google-cloud-ops-agent/config.yaml.bak
    
    # Configure the Ops Agent.
    sudo tee /etc/google-cloud-ops-agent/config.yaml > /dev/null << EOF
    metrics:
      receivers:
        apache:
          type: apache
      service:
        pipelines:
          apache:
            receivers:
              - apache
    logging:
      receivers:
        apache_access:
          type: apache_access
        apache_error:
          type: apache_error
      service:
        pipelines:
          apache:
            receivers:
              - apache_access
              - apache_error
    EOF
    
    sudo service google-cloud-ops-agent restart
    sleep 60
    

    La commande précédente crée la configuration permettant de collecter et d'ingérer les journaux et les métriques à partir du serveur Web Apache. Pour en savoir plus sur l'ingestion de journaux à partir du serveur Web Apache, consultez Configurer l'agent Ops pour le serveur Web Apache.

Afficher les journaux

Vous pouvez utiliser l'explorateur de journaux pour afficher les journaux dans la console Google Cloud. Pour sélectionner certaines entrées de journal, vous pouvez exécuter une requête.

Pour afficher vos journaux dans la console Google Cloud, procédez comme suit:

  1. Dans la console Google Cloud, sélectionnez Logging, puis Explorateur de journaux, ou cliquez sur le bouton suivant :

    Accéder à l'explorateur de journaux

  2. Dans le volet Requête, activez Afficher la requête. L'éditeur de requête s'ouvre.

  3. Pour localiser votre ID de projet Google Cloud, développez la liste des projets Google Cloud à partir du sélecteur de projet Google Cloud. Dans la colonne ID, copiez l'ID du projet Google Cloud dans votre presse-papiers.

  4. Dans l'expression suivante, collez l'ID copié dans le champ PROJECT_ID, puis copiez l'expression dans l'éditeur de requête:

    resource.type="gce_instance"
    logName=("projects/PROJECT_ID/logs/apache_access" OR
    "projects/PROJECT_ID/logs/apache_error")
    

    Lorsque la requête précédente est exécutée, seules les entrées de journal apache_access et apache_error sont affichées.

  5. Cliquez sur Exécuter la requête ou appuyez sur la touche Entrée. Les résultats de la requête sont affichés dans le volet Résultats de la requête.

Créer une alerte basée sur les journaux

Pour être averti lorsqu'un message spécifique apparaît dans vos entrées de journal, créez une alerte basée sur les journaux. Dans cette section, vous allez créer une alerte basée sur les journaux afin d'être averti lorsqu'un message 404 Not Found apparaît dans vos entrées de journal.

Pour créer une alerte basée sur les journaux, procédez comme suit:

  1. Pour créer une alerte basée sur les journaux, vous devez configurer un canal de notification. Pour ce guide de démarrage rapide, créez un canal de notification par e-mail. Consultez la section Configurer la notification par e-mail à la section Avant de commencer de ce guide de démarrage rapide.

  2. Dans la console Google Cloud, sélectionnez Logging, puis Explorateur de journaux, ou cliquez sur le bouton suivant :

    Accéder à l'explorateur de journaux

  3. Dans la barre d'outils Résultats de la requête, cliquez sur Créer une alerte. Le volet des règles d'alerte basées sur les journaux s'ouvre. Remplissez les champs comme suit :

    1. Dans les Détails de l'alerte, saisissez 404 Not Found dans le champ Nom de la règle d'alerte.

    2. Pour l'élément Sélectionner les journaux à inclure dans cette alerte, copiez la requête suivante et collez-la dans la zone de texte du filtre de journal :

       severity>=DEFAULT /help httpRequest.status=404
      

      Le filtre de journal précédent recherche les entrées de journal dont la valeur severity est au moins DEFAULT, qui contiennent le texte /help et dont l'état httpRequest est 404.

    3. Pour Définir la fréquence des notifications et le délai pour la fermeture automatique, sélectionnez les valeurs suivantes :

      1. Délai entre les notifications : 5 min

      2. Délai pour la fermeture automatique de l'incident : 30 min

    4. Dans Qui doit être informé ?, sélectionnez un e-mail provenant de Canaux de notification, puis cliquez sur Enregistrer pour configurer la règle d'alerte.

Pour tester l'alerte basée sur les journaux que vous venez de créer, procédez comme suit:

  1. Dans la console Google Cloud, sélectionnez Compute Engine, puis Instances de VM ou cliquez sur le bouton suivant :

    Accéder à la page Instances de VM

  2. Pour ouvrir un terminal sur l'instance, cliquez sur SSH dans la colonne Connexion.

  3. Pour rechercher la page fictive localhost/help sur le serveur, exécutez la commande suivante:

    curl localhost/help
    

    Une fois le message 404 Not Found affiché dans le terminal, une notification par e-mail est envoyée. Ce processus peut prendre plusieurs minutes.

    La notification que vous recevez par e-mail ressemble à celle-ci :

    L'exemple d'alerte basé sur les journaux génère une notification par e-mail.

Effectuer un nettoyage

Pour éviter que les ressources utilisées sur cette page soient facturées sur votre compte Google Cloud, procédez comme suit :

  • Si vous avez créé un projet Google Cloud pour ce guide de démarrage rapide, supprimez-le:

    1. Dans la console Google Cloud, 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.

  • Si vous avez créé une VM dans un projet existant, supprimez l'instance de VM :

    1. Dans la console Google Cloud, accédez à la page Instances de VM.

      Accéder à la page Instances de VM

    2. Cochez la case correspondant à instance que vous souhaitez supprimer.
    3. Pour supprimer l'instance, cliquez sur Autres actions , cliquez sur Supprimer, puis suivez les instructions.

  • Si vous avez utilisé une instance de VM existante pour ce guide de démarrage rapide, désinstallez l'agent Ops :

    1. Pour désinstaller l'agent Ops, ouvrez le terminal et exécutez la commande suivante:

      sudo bash add-google-cloud-ops-agent-repo.sh --uninstall
      

Étapes suivantes