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 présenté dans ce guide de démarrage rapide pour surveiller d'autres applications tierces.

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

  1. Créez une instance de VM Compute Engine et installez 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. Testez 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. 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.
  3. 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

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

  5. Activer les API Compute Engine, Cloud Monitoring, and Cloud Logging.

    Activer les API

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

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

  8. Activer les API Compute Engine, Cloud Monitoring, and Cloud Logging.

    Activer les API

Créer une instance de VM

  1. Dans le panneau de navigation de la console Google Cloud, sélectionnez Compute Engine, puis Instances de VM :

    Accéder à la page Instances de VM

  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, sélectionnez 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. Une fois que le 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
    

    Lorsque 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

Au cours de ces étapes, vous configurez l'agent Ops pour collecter des journaux et des métriques à partir 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 le panneau de navigation de la console Google Cloud, sélectionnez Compute Engine, puis Instances de VM :

      Accéder à la page Instances de VM

    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 le panneau de navigation de la console Google Cloud, sélectionnez Logging, puis Explorateur de journaux :

    Accéder à l'explorateur de journaux

    Vos journaux les plus récents sont affichés 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 projet 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 à partir 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 modèle 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 la règle d'alerte doit utiliser. Cloud Monitoring accepte de nombreux types de canaux de notification, y compris les e-mails, Slack, PagerDuty et Pub/Sub. Pour en savoir plus, consultez Créer et gérer des canaux de notification. Pour recevoir des notifications par e-mail, procédez comme suit :
  1. Dans le panneau de navigation de la console Google Cloud, sélectionnez Monitoring, puis  Alertes :

    Accéder à l'interface des alertes

  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 recevoir une notification 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.

  1. Dans le panneau de navigation de la console Google Cloud, sélectionnez Logging, puis Explorateur de journaux :

    Accéder à l'explorateur de journaux

  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. Dans Choisir les journaux à inclure dans cette alerte, procédez comme suit:

    1. Supprimez tout contenu figurant dans 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 égal à DEFAULT, qui contiennent le texte /help et l'état httpRequest 404.

  5. Dans la section Définir la fréquence des notifications et la durée de fermeture automatique, procédez comme suit:

    1. Définissez le champ Délai entre les notifications sur 5 min.
    2. Définissez le champ Délai pour la fermeture automatique de l'incident sur 30 min.
  6. Dans la section 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 le panneau de navigation de la console Google Cloud, sélectionnez Compute Engine, puis Instances de VM :

      Accéder à la page Instances de VM

    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
    

    Un message 404 Not Found s'affiche dans le terminal, puis une notification est envoyée par e-mail. Ce processus prend 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.

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

    1. Dans le panneau de navigation de la console Google Cloud, sélectionnez Logging, puis Explorateur de journaux :

      Accéder à l'explorateur de journaux

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

Vous avez configuré l'agent Ops pour collecter les journaux et les métriques à partir de votre serveur Web Apache, mais vous avez uniquement consulté les journaux. Pour en savoir plus sur l'affichage des 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. 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.
  2. Supprimez la règle d'alerte que vous avez créée:

    1. Dans le panneau de navigation de la console Google Cloud, sélectionnez Monitoring, puis  Alertes :

      Accéder à l'interface des alertes

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

Étapes suivantes