Logs von Apache mit dem Ops-Agent erfassen

Hier erfahren Sie, wie Sie mit dem Ops-Agent syslog-Logs von einem Apache-Webserver erfassen und aufrufen, der auf einer Compute Engine-VM-Instanz installiert ist. Sie können einen Prozess, der dem in dieser Kurzanleitung ähnelt, zum Überwachen anderer Drittanbieteranwendungen verwenden.

Dieser Schnellstart erläutert die folgenden Schritte:

  1. Erstellen Sie eine Compute Engine-VM-Instanz und installieren Sie den Ops-Agent.
  2. Apache-Webserver installieren
  3. Ops-Agent für Apache-Webserver konfigurieren
  4. Logs im Log-Explorer ansehen
  5. Logbasierte Benachrichtigung erstellen
  6. Testen Sie die Benachrichtigung.
  7. bereinigen.

Klicken Sie auf Anleitung, um eine detaillierte Anleitung für diese Aufgabe direkt in der Google Cloud Console aufzurufen.

Anleitung


Vorbereitung

  1. Von Ihrer Organisation definierte Sicherheitsbeschränkungen verhindern möglicherweise, dass die folgenden Schritte ausgeführt werden. Informationen zur Fehlerbehebung finden Sie unter Anwendungen in einer eingeschränkten Google Cloud-Umgebung entwickeln.

  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

VM-Instanz erstellen

  1. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf:

    Zu Seite VM-Instanzen

    Wenn Sie diese Seite über die Suchleiste finden, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Compute Engine lautet.

  2. Erstellen Sie eine VM, indem Sie auf Instanz erstellen klicken.

  3. Geben Sie im Feld Name einen aussagekräftigen Namen ein.
  4. Wählen Sie im Feld Maschinentyp die Option e2-small aus.
  5. Übernehmen Sie im Abschnitt Bootlaufwerk die Standardeinstellung Debian GNU/Linux.
  6. Wählen Sie im Bereich Firewall die Optionen HTTP-Traffic zulassen und HTTPS-Traffic zulassen aus.
  7. Wählen Sie im Abschnitt Beobachtbarkeit – Ops-Agent die Option Ops-Agent für Monitoring und Logging installieren aus.
  8. Klicken Sie auf Erstellen.

Apache-Webserver installieren

So installieren Sie einen Apache-Webserver auf Ihrer Compute Engine-VM-Instanz:

  1. Suchen Sie auf der Seite VM-Instanzen nach der neuen VM, gehen Sie zur Spalte Verbinden und klicken Sie dann auf SSH.

    Haben Sie Probleme beim Herstellen der Verbindung? Weitere Informationen finden Sie unter Fehlerbehebung bei SSH.

  2. Kopieren Sie zum Aktualisieren der Paketlisten den folgenden Befehl in die Zwischenablage, fügen Sie ihn im SSH-Terminal ein und drücken Sie die Eingabetaste:

    sudo apt-get update
    
  3. Wenn die Meldung „Paketlisten werden gelesen... Fertig“ angezeigt wird, führen Sie im SSH-Terminal den folgenden Befehl aus, um einen Apache2-Webserver zu installieren:

    sudo apt-get install apache2 php7.0
    

    Wenn Sie gefragt werden, ob die Installation fortgesetzt werden soll, geben Sie Y ein. Falls der vorherige Befehl fehlschlägt, verwenden Sie sudo apt-get install apache2 php.

  4. Wenn die Eingabeaufforderung angezeigt wird, rufen Sie die Seite VM-Instanzen auf und kopieren die externe IP-Adresse der VM in die folgende URL:

    http://EXTERNAL_IP
    
  5. Öffnen Sie einen neuen Browsertab und geben Sie die URL aus dem vorherigen Schritt ein, um eine Verbindung zu Ihrem Apache-Webserver herzustellen.

    Wenn der Webserver erfolgreich installiert wurde, wird auf dem Browsertab die Apache2 Debian-Standardseite angezeigt.

    Zeige die Apache2-Standardseite

Apache-Webserver-Logs und -Messwerte erfassen

In diesen Schritten konfigurieren Sie den Ops-Agent, um Protokolle und Messwerte von Ihrem Apache-Webserver zu erfassen:
  1. Rufen Sie das SSH-Terminal für Ihre VM-Instanz auf. Wenn kein Terminal geöffnet ist, gehen Sie so vor:

    1. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf:

      Zu Seite VM-Instanzen

      Wenn Sie diese Seite über die Suchleiste finden, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Compute Engine lautet.

    2. Suchen Sie die neue VM und klicken Sie auf SSH.

  2. Kopieren Sie den folgenden Befehl, fügen Sie ihn im Terminal für Ihre Instanz ein und drücken Sie dann die Eingabetaste:

    # 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
    

    Der vorherige Befehl erstellt die Konfiguration zum Erfassen und Aufnehmen von Logs und Messwerten vom Apache-Webserver. Weitere Informationen finden Sie unter Ops-Agent für Apache-Webserver konfigurieren.

  3. Warten Sie, bis die Eingabeaufforderung angezeigt wird. Dies dauert mindestens 60 Sekunden.

Apache-Webserverlogs ansehen

Verwenden Sie den Log-Explorer, um sich Ihre Logs in der Google Cloud Console anzusehen:

  1. Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.

    Zum Log-Explorer

    Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Logging ist.

    Die neuesten Logs werden im Bereich Abfrageergebnisse angezeigt.

  2. In der Symbolleiste muss die Option Abfrage anzeigen aktiviert sein.

  3. Erstellen Sie eine Abfrage und führen Sie eine Abfrage aus, um Ihre Apache-Webserverprotokolle anzusehen:

    1. Maximieren Sie in der Google Cloud-Projektauswahl die Liste der Google Cloud-Projekte und kopieren Sie dann die ID des Google Cloud-Projekts in die Zwischenablage.

    2. Fügen Sie im folgenden Ausdruck die kopierte ID in das Feld PROJECT_ID ein und kopieren Sie den Ausdruck dann in den Abfrageeditor:

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

      Wenn die vorherige Abfrage ausgeführt wird, werden nur die Logeinträge apache_access und apache_error angezeigt.

    3. Klicken Sie auf Abfrage ausführen.

      Die Ergebnisse der Abfrage werden dann im Bereich Abfrageergebnisseangezeigt.

Sie haben den Ops-Agent so konfiguriert, dass er Logs und Messwerte von Ihrem Apache-Webserver erfasst, und Sie haben sich diese Logs angesehen. Im nächsten Schritt erstellen Sie eine Benachrichtigungsrichtlinie, damit Sie benachrichtigt werden, wenn ein bestimmtes Muster in einem Log erscheint.

E-Mail-Benachrichtigungskanal erstellen

Bevor Sie eine Benachrichtigungsrichtlinie erstellen, konfigurieren Sie die Benachrichtigungskanäle, die für die Richtlinie verwendet werden sollen. Cloud Monitoring unterstützt viele verschiedene Arten von Benachrichtigungskanälen, darunter E-Mail, Slack, PagerDuty und Pub/Sub. Weitere Informationen finden Sie unter Benachrichtigungskanäle erstellen und verwalten. So erhalten Sie Benachrichtigungen per E-Mail:
  1. Rufen Sie in der Google Cloud Console die Seite  Benachrichtigungen auf:

    Zu Benachrichtigungen

    Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.

  2. Klicken Sie in der Symbolleiste auf Benachrichtigungskanäle bearbeiten.
  3. Scrollen Sie auf der Seite Benachrichtigungskanäle zu E-Mail und klicken Sie auf Neu hinzufügen.
  4. Geben Sie Ihre E-Mail-Adresse und einen Anzeigenamen wie z. B. My email ein und klicken Sie auf Speichern.

Logbasierte Benachrichtigung erstellen

Wenn Sie benachrichtigt werden möchten, wenn eine bestimmte Nachricht in Ihren Logeinträgen angezeigt wird, erstellen Sie eine logbasierte Benachrichtigung. In diesem Abschnitt erstellen Sie eine logbasierte Benachrichtigung, damit Sie benachrichtigt werden, wenn eine 404 Not Found-Nachricht in Ihren Logeinträgen erscheint.

  1. Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.

    Zum Log-Explorer

    Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Logging ist.

  2. Klicken Sie in der Symbolleiste Abfrageergebnisse auf Benachrichtigung erstellen. Der Bereich mit der logbasierten Benachrichtigungsrichtlinie wird geöffnet.

  3. Geben Sie unter Benachrichtigungsdetails im Feld Name der Benachrichtigungsrichtlinie den Wert 404 Not Found ein.

  4. Führen Sie unter Logs für diese Benachrichtigung auswählen die folgenden Schritte aus:

    1. Entfernen Sie alle Inhalte im Textfeld für den Logfilter.
    2. Kopieren Sie die folgende Abfrage und fügen Sie sie in das Textfeld für den Logfilter ein:

      severity>=DEFAULT /help httpRequest.status=404
      

      Mit dem vorherigen Logfilter wird nach Logeinträgen gesucht, die mindestens den severity-Grad DEFAULT aufweisen, den Text /help enthalten und einen httpRequest-Status von 404 aufweisen.

  5. Führen Sie im Abschnitt Benachrichtigungshäufigkeit und Dauer für automatisches Schließen festlegen die folgenden Schritte aus:

    1. Setzen Sie das Feld Zeit zwischen Benachrichtigungen auf 5 Minuten.
    2. Setzen Sie das Feld Dauer der automatischen Schließung des Vorfalls auf 30 Min..
  6. Wählen Sie unter Wer soll benachrichtigt werden? Ihre E-Mail-Adresse im Menü Benachrichtigungskanäle aus und klicken Sie dann auf Speichern.

Benachrichtigungsrichtlinie testen

So testen Sie die Benachrichtigungsrichtlinie:

  1. Rufen Sie das SSH-Terminal für Ihre VM-Instanz auf. Wenn kein Terminal geöffnet ist, gehen Sie so vor:

    1. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf:

      Zu Seite VM-Instanzen

      Wenn Sie diese Seite über die Suchleiste finden, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Compute Engine lautet.

    2. Suchen Sie die neue VM und klicken Sie auf SSH.
  2. Führen Sie den folgenden Befehl aus, um den Server nach der fiktiven Seite localhost/help zu suchen:

    curl localhost/help
    

    Nachdem die Meldung 404 Not Found im Terminal angezeigt wird, wird eine E-Mail-Benachrichtigung gesendet. Es dauert einige Minuten, bis dieser Vorgang abgeschlossen ist.

    Die E-Mail-Benachrichtigung sieht in etwa so aus:

    Die logbasierte Beispielbenachrichtigung führt zu einer E-Mail-Benachrichtigung.

  3. So rufen Sie die neuen Logeinträge auf:

    1. Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.

      Zum Log-Explorer

      Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Logging ist.

    2. Klicken Sie in der Symbolleiste auf Zu jetzt springen.

Sie haben den Ops-Agent so konfiguriert, dass Logs und Messwerte von Ihrem Apache-Webserver erfasst werden, haben sich aber nur die Logs angesehen. Informationen zum Ansehen von Apache-Webserver-Messwerten finden Sie unter Apache-Webserver-Messwerte mit dem Ops-Agent erfassen: Traffic generieren.

Bereinigen

Mit den folgenden Schritten vermeiden Sie, dass Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen in Rechnung gestellt werden:

Wenn Sie ein neues Projekt erstellt haben und es nicht mehr benötigen, löschen Sie es.

Wenn Sie ein vorhandenes Projekt verwendet haben, gehen Sie so vor:

  1. Wenn Sie eine VM erstellt haben, löschen Sie sie:

    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. Löschen Sie die von Ihnen erstellte Benachrichtigungsrichtlinie:

    1. Rufen Sie in der Google Cloud Console die Seite  Benachrichtigungen auf:

      Zu Benachrichtigungen

      Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.

    2. Wählen Sie die von Ihnen erstellte Benachrichtigungsrichtlinie aus und klicken Sie dann auf Löschen.

Nächste Schritte