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. Zum Überwachen anderer Drittanbieteranwendungen können Sie einen ähnlichen Prozess wie in dieser Kurzanleitung 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 den 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. Wählen Sie im Navigationsbereich der Google Cloud Console Compute Engine und dann VM-Instanzen aus:

    Zu Seite VM-Instanzen

  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. Behalten Sie im Abschnitt Bootlaufwerk die Standardeinstellung Debian GNU/Linux bei.
  6. Wählen Sie im Bereich Firewall sowohl HTTP-Traffic zulassen als auch HTTPS-Traffic zulassen aus.
  7. Wählen Sie im Abschnitt Observability – Ops-Agent (Beobachtbarkeit – Ops-Agent) die Option Install Ops Agent for Monitoring and Logging (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 Ihre neue VM, wechseln 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", 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 aufgefordert werden, die Installation fortzusetzen, geben Sie Y ein. Wenn der Installationsbefehl 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

Mit diesen Schritten konfigurieren Sie den Ops-Agent so, dass Logs und Messwerte von Ihrem Apache-Webserver erfasst werden:
  1. Wechseln Sie zum SSH-Terminal Ihrer VM-Instanz. Wenn kein Terminal geöffnet ist, gehen Sie so vor:

    1. Wählen Sie im Navigationsbereich der Google Cloud Console Compute Engine und dann VM-Instanzen aus:

      Zu Seite VM-Instanzen

    2. Suchen Sie Ihre neue VM und klicken Sie dann auf SSH.

  2. Kopieren Sie den folgenden Befehl, fügen Sie ihn in das Terminal für Ihre Instanz ein und drücken Sie 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 Ihre Logs in der Google Cloud Console anzusehen:

  1. Wählen Sie im Navigationsbereich der Google Cloud Console Logging und anschließend Log-Explorer aus:

    Zum Log-Explorer

    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 sie aus, um die Apache-Webserverprotokolle anzuzeigen:

    1. Maximieren Sie die Liste der Google Cloud-Projekte in der Google Cloud-Projektauswahl und kopieren Sie dann die Google Cloud-Projekt-ID 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 die Benachrichtigungsrichtlinie verwenden soll. 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. Wählen Sie im Navigationsbereich der Google Cloud Console Monitoring und anschließend  Benachrichtigungen aus:

    Zu Benachrichtigungen

  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 My email ein und klicken Sie dann auf Speichern.

Logbasierte Benachrichtigung erstellen

Wenn Sie benachrichtigt werden möchten, wenn eine bestimmte Nachricht in Ihren Logeinträgen erscheint, 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. Wählen Sie im Navigationsbereich der Google Cloud Console Logging und anschließend Log-Explorer aus:

    Zum Log-Explorer

  2. Klicken Sie in der Symbolleiste Abfrageergebnisse auf Benachrichtigung erstellen. Der Bereich für logbasierte Benachrichtigungsrichtlinien 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 des Logfilters.
    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
      

      Der vorherige Logfilter sucht nach Logeinträgen mit einer severity-Ebene von mindestens DEFAULT, die den Text /help und den httpRequest-Status 404 enthalten.

  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 von Vorfällen auf 30 min.
  6. Wählen Sie unter Wer soll benachrichtigt werden? Ihre E-Mail im Menü Benachrichtigungskanäle aus und klicken Sie dann auf Speichern.

Benachrichtigungsrichtlinie testen

So testen Sie die Benachrichtigungsrichtlinie:

  1. Wechseln Sie zum SSH-Terminal Ihrer VM-Instanz. Wenn kein Terminal geöffnet ist, gehen Sie so vor:

    1. Wählen Sie im Navigationsbereich der Google Cloud Console Compute Engine und dann VM-Instanzen aus:

      Zu Seite VM-Instanzen

    2. Suchen Sie Ihre neue VM und klicken Sie dann auf SSH.
  2. Führen Sie den folgenden Befehl aus, um auf dem Server nach der gefälschten Seite localhost/help zu suchen:

    curl localhost/help
    

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

    Die E-Mail-Benachrichtigung, die Sie erhalten, 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. Wählen Sie im Navigationsbereich der Google Cloud Console Logging und anschließend Log-Explorer aus:

      Zum Log-Explorer

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

Sie haben den Ops-Agent so konfiguriert, dass er Logs und Messwerte von Ihrem Apache-Webserver erfasst, 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. Wählen Sie im Navigationsbereich der Google Cloud Console Monitoring und anschließend  Benachrichtigungen aus:

      Zu Benachrichtigungen

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

Nächste Schritte