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 VM-Instanz von Compute Engine 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 die Schritt-für-Schritt-Anleitung für diese Aufgabe direkt in der Google Cloud Console auszuführen:

Anleitung


Hinweise

  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. Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  3. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  4. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  5. Compute Engine, Cloud Monitoring, and Cloud Logging APIs aktivieren.

    Aktivieren Sie die APIs

  6. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  7. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  8. Compute Engine, Cloud Monitoring, and Cloud Logging APIs aktivieren.

    Aktivieren Sie die 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 ist.

  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 dann 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 so, dass Logs und Messwerte von Ihrem Apache-Webserver erfasst werden:
  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 ist.

    2. Suchen Sie die neue VM und klicken Sie dann 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. Das dauert mindestens 60 Sekunden.

Apache-Webserverlogs ansehen

Verwenden Sie den Log-Explorer, um 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 finden, 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 Logs und Messwerte von Ihrem Apache-Webserver erfasst werden, und Sie haben sich diese Logs angesehen. Im nächsten Schritt erstellen Sie eine Benachrichtigungsrichtlinie, damit Sie informiert werden, wenn ein bestimmtes Muster in einem Log angezeigt wird.

E-Mail-Benachrichtigungskanal erstellen

Bevor Sie eine Benachrichtigungsrichtlinie erstellen, konfigurieren Sie die Benachrichtigungskanäle, die von der Benachrichtigungsrichtlinie verwendet werden sollen. Cloud Monitoring unterstützt viele verschiedene Arten von Benachrichtigungskanälen, einschließlich 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 in Ihren Logeinträgen die Meldung 404 Not Found angezeigt wird.

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

    Zum Log-Explorer

    Wenn Sie diese Seite über die Suchleiste finden, 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 für das 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 aus dem 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 Min..
    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 ist.

    2. Suchen Sie die neue VM und klicken Sie dann 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 finden, 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. Sie haben sich aber nur Logs angesehen. Informationen zum Aufrufen 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 auf dieser Seite 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. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.

      Zu Seite „VM-Instanzen“

    2. Klicken Sie auf das Kästchen für die Die Instanz, die Sie löschen möchten.
    3. Klicken Sie zum Löschen der Instanz auf Weitere Aktionen, dann auf Löschen, und folgen Sie dann der Anleitung.
  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