Collecter les journaux d'Apache grâce à l'agent Ops

Découvrez comment collecter et afficher les journaux syslog collectés à partir d'un serveur Web Apache installé sur une instance de machine virtuelle (VM) Compute Engine à l'aide de l'agent Ops. Vous pouvez utiliser un processus semblable à celui de ce guide de démarrage rapide pour surveiller d'autres applications tierces.

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

  1. créer une instance de VM Compute Engine et installer l'agent Ops ;
  2. installer un serveur Web Apache ;
  3. 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. tester votre alerte ;
  7. 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

  1. 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é.

  2. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  3. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  4. Make sure that billing is enabled for your Google Cloud project.

  5. Enable the Compute Engine, Cloud Monitoring, and Cloud Logging APIs.

    Enable the APIs

  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  7. Make sure that billing is enabled for your Google Cloud project.

  8. Enable the Compute Engine, Cloud Monitoring, and Cloud Logging APIs.

    Enable the APIs

Créer une instance de VM

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

    Accéder à la page Instances de VM

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Compute Engine.

  2. Créez une VM en cliquant sur Créer une instance.

  3. Dans le champ Nom, saisissez un nom descriptif.
  4. Dans le champ Type de machine, sélectionnez e2-small.
  5. Dans la section Disque de démarrage, conservez le paramètre par défaut Debian GNU/Linux.
  6. Dans la section Pare-feu, cochez les cases Autoriser le trafic HTTP et Autoriser le trafic HTTPS.
  7. Dans la section Observabilité – Agent Ops, sélectionnez Installer l'agent Ops pour la surveillance et la journalisation.
  8. Cliquez sur Créer.

Installer un serveur Web Apache

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

  1. Sur la page Instances de VM, localisez votre nouvelle VM, accédez à la colonne Connecter, puis cliquez sur SSH.

    Vous rencontrez des problèmes de connexion ? Reportez-vous à la page Résoudre les problèmes liés à SSH.

  2. Pour mettre à jour les listes de packages, copiez la commande suivante dans le presse-papiers, collez-la dans le terminal SSH, puis appuyez sur Entrée :

    sudo apt-get update
    
  3. Après l'affichage du message "Lecture des listes de packages... OK", dans le terminal SSH, exécutez la commande suivante pour installer un serveur Web Apache2 :

    sudo apt-get install apache2 php7.0
    

    Si vous êtes invité à continuer l'installation, saisissez Y. Si la commande d'installation échoue, utilisez sudo apt-get install apache2 php.

  4. Lorsque l'invite de commande est renvoyée, accédez à la page Instances de VM et copiez l'adresse IP externe de la VM dans l'URL suivante :

    http://EXTERNAL_IP
    
  5. Pour vous connecter à votre serveur Web Apache, ouvrez un nouvel onglet de navigateur, puis saisissez l'URL de l'étape précédente.

    Une fois le serveur Web installé, l'onglet du navigateur affiche la page par défaut d'Apache2 Debian.

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

Collecter les journaux et les métriques du serveur Web Apache

Dans ces étapes, vous allez configurer l'agent Ops pour collecter les journaux et les métriques de votre serveur Web Apache :
  1. Accédez au terminal SSH de votre instance de VM. Si aucun terminal n'est ouvert, procédez comme suit :

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

      Accéder à la page Instances de VM

      Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Compute Engine.

    2. Recherchez votre nouvelle VM, puis cliquez sur SSH.

  2. Copiez la commande suivante, collez-la dans le terminal de votre instance, puis appuyez sur Entrée :

    # 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, consultez la page Configurer l'agent Ops pour le serveur Web Apache.

  3. Attendez que l'invite de commande s'affiche, ce qui prend au moins 60 secondes.

Afficher les journaux du serveur Web Apache

Pour afficher vos journaux dans la console Google Cloud, utilisez l'explorateur de journaux:

  1. Dans la console Google Cloud, accédez à la page Explorateur de journaux.

    Accéder à l'explorateur de journaux

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Logging.

    Vos journaux les plus récents s'affichent dans le volet Résultats de la requête.

  2. Dans la barre d'outils, assurez-vous que l'option Afficher la requête est activée.

  3. Pour afficher les journaux de votre serveur Web Apache, créez et exécutez une requête :

    1. Développez la liste des projets Google Cloud à partir du sélecteur de projets Google Cloud, puis copiez l'ID du projet Google Cloud dans votre presse-papiers.

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

    3. Cliquez sur Exécuter la requête.

      Les résultats de la requête sont affichés dans le volet Résultats de la requête.

Vous avez configuré l'agent Ops pour collecter les journaux et les métriques de votre serveur Web Apache, et vous avez consulté ces journaux. L'étape suivante consiste à créer une règle d'alerte afin d'être averti lorsqu'un schéma spécifique apparaît dans un journal.

Créer un canal de notification par e-mail

Avant de créer une règle d'alerte, configurez les canaux de notification que vous souhaitez utiliser. Cloud Monitoring est compatible avec de nombreux types de canaux de notification, y compris les e-mails, Slack, PagerDuty et Pub/Sub. Pour en savoir plus, consultez la page Créer et gérer des canaux de notification. Pour recevoir des notifications par e-mail, procédez comme suit :
  1. Dans la console Google Cloud, accédez à la page Alertes :

    Accéder à l'interface des alertes

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.

  2. Dans la barre d'outils, cliquez sur Modifier les canaux de notification.
  3. Sur la page Canaux de notification, faites défiler la page jusqu'à E-mail, puis cliquez sur Ajouter.
  4. Saisissez votre adresse e-mail, un nom à afficher tel que My email, puis cliquez sur Enregistrer.

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 créez une alerte basée sur les journaux pour être averti lorsqu'un message 404 Not Found apparaît dans vos entrées de journal.

  1. Dans la console Google Cloud, accédez à la page Explorateur de journaux.

    Accéder à l'explorateur de journaux

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Logging.

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

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

  4. Pour Choisir les journaux à inclure dans cette alerte, procédez comme suit :

    1. Supprimez tout contenu de la zone de texte du filtre de journal.
    2. 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 le niveau severity est au moins DEFAULT, qui contiennent le texte /help et dont l'état httpRequest est 404.

  5. Pour Définir la fréquence des notifications et le délai pour la fermeture automatique, procédez comme suit :

    1. Définissez le champ Délai entre les notifications sur 5 min.
    2. Définissez le champ Durée de fermeture automatique de l'incident sur 30 min.
  6. Pour Qui doit être informé ?, sélectionnez votre adresse e-mail dans le menu Canaux de notification, puis cliquez sur Enregistrer.

Tester la règle d'alerte

Pour tester la règle d'alerte, procédez comme suit:

  1. Accédez au terminal SSH de votre instance de VM. Si aucun terminal n'est ouvert, procédez comme suit :

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

      Accéder à la page Instances de VM

      Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Compute Engine.

    2. Recherchez votre nouvelle VM, puis cliquez sur SSH.
  2. Pour rechercher la fausse page localhost/help sur le serveur, exécutez la commande suivante :

    curl localhost/help
    

    Lorsque le terminal affiche un message 404 Not Found, une notification est envoyée par e-mail. Ce processus peut prendre plusieurs minutes.

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

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

  3. Pour afficher les nouvelles entrées de journal, procédez comme suit :

    1. Dans la console Google Cloud, accédez à la page Explorateur de journaux.

      Accéder à l'explorateur de journaux

      Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Logging.

    2. Dans la barre d'outils, cliquez sur Heure actuelle.

Vous avez configuré l'agent Ops pour collecter les journaux et les métriques de votre serveur Web Apache, mais vous n'avez vu que les journaux. Pour savoir comment afficher les métriques du serveur Web Apache, consultez Collecter des métriques sur le serveur Web Apache avec l'agent Ops: générer du trafic.

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 et que vous n'en avez plus besoin, supprimez-le.

Si vous avez utilisé un projet existant, procédez comme suit:

  1. Si vous avez créé une VM, supprimez-la :

    1. In the Google Cloud console, go to the VM instances page.

      Go to VM instances

    2. Select the checkbox for the instance that you want to delete.
    3. To delete the instance, click More actions, click Delete, and then follow the instructions.
  2. Supprimez la règle d'alerte que vous avez créée :

    1. Dans la console Google Cloud, accédez à la page Alertes :

      Accéder à l'interface des alertes

      Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.

    2. Sélectionnez la règle d'alerte que vous avez créée, puis cliquez sur Supprimer.

Étape suivante