Prüfung auf fehlerhafte Links erstellen

In diesem Dokument wird beschrieben, wie Sie einen regelmäßigen Test der in einem URI enthaltenen Links konfigurieren, indem Sie einen synthetischen Monitor erstellen. Sie geben die Optionen für den Test an, z. B. den Ursprungs-URI, die Anzahl der getesteten Links und die Anzahl der Wiederholungsversuche und stellen dann eine vorkonfigurierte Cloud Function bereit. Synthetisches Monitoring speichert detaillierte Informationen zu jedem Test, einschließlich Screenshots, um Sie bei der Fehlerbehebung zu unterstützen. Screenshots zeigen die genaue Antwort, die die Kunden Ihrer Anwendung sehen.

Weitere Informationen zu synthetischem Monitoring finden Sie unter Informationen zu synthetischen Monitorings.

Prüfung fehlerhafter Links

Jede Prüfung für fehlerhafte Links testet die Links nacheinander und es gibt ein allgemeines synthetisches Zeitlimit, das konfigurierbar ist.

Standardmäßig führt die Prüfung auf fehlerhafte Links folgende Schritte aus:

  • Sucht im Ursprungs-URI nach HTML-Ankerelementen mit href-Attributen
  • Testet die ersten 10 Links, die für den Ursprungs-URI gefunden wurden.
  • Für jeden Link gibt die Prüfung eine Anfrage aus und wartet dann maximal 30 Sekunden auf eine Antwort. Wenn eine Antwort empfangen wird, prüft die Prüfung, ob der HTTP-Antwortstatus 200 ist. Dies weist auf eine erfolgreiche Antwort hin. Die Prüfung führt keine Wiederholungsversuche durch.

Sie geben den Ursprungs-URI an. Sie können konfigurieren, nach welchen HTML-Elementen die Prüfung der fehlerhaften Links sucht, wie viele Elemente maximal getestet werden, welches Zeitlimit pro Test gilt und ob Wiederholungsversuche durchgeführt werden. Sie können auch Diagnosen für fehlerhafte Links konfigurieren, die warten, bis ein Selektor angezeigt wird.

Bei der Prüfung fehlerhafter Links wird die Vorlage broken-links-ok verwendet. Die Konfiguration für die Prüfung von fehlerhaften Links wird durch das options-Objekt der index.js-Datei angegeben. Wenn Sie die Prüfung mit der Google Cloud Console erstellen, werden Sie für jede Konfigurationsoption aufgefordert und die Cloud Functions-Funktion wird für Sie aktualisiert. Wenn Sie jedoch die Cloud Monitoring API oder Terraform verwenden, müssen Sie dieses Objekt darstellen.

Nachdem Sie die Prüfung auf fehlerhafte Links erstellt haben, aktualisieren Sie das Objekt options und stellen Sie die Cloud Functions-Funktion noch einmal bereit, um die Konfiguration zu ändern.

Hinweise

  1. Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für Ihr Projekt zu gewähren, damit Sie die Berechtigungen erhalten, die Sie zum Aufrufen und Ändern synthetischer Monitore über die Google Cloud Console benötigen:

    Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.

    Möglicherweise können Sie die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

  2. Cloud Monitoring API, Artifact Registry API, Cloud Build API, Cloud Functions API, Cloud Logging API, Pub/Sub API, and Cloud Run Admin API APIs aktivieren.

    Aktivieren Sie die APIs

  3. Prüfen Sie, ob Ihr Google Cloud-Projekt das Compute Engine-Standarddienstkonto enthält. Dieses Dienstkonto wird erstellt, wenn Sie die Compute Engine API aktivieren, und hat einen Namen wie 12345-compute@developer.gserviceaccount.com.

    Rufen Sie in der Google Cloud Console die Seite Dienstkonten auf:

    Gehen Sie zu Dienstkonten.

    Wenn Sie diese Seite über die Suchleiste finden, wählen Sie das Ergebnis mit der Zwischenüberschrift IAM und Verwaltung aus.

    Wenn das Compute Engine-Standarddienstkonto nicht vorhanden ist, klicken Sie auf Dienstkonto erstellen und füllen Sie das Dialogfeld aus.

  4. Prüfen Sie, ob dem Compute Engine-Standarddienstkonto oder dem von Ihnen erstellten Dienstkonto die Rolle „Bearbeiter“ (roles/editor) gewährt wurde.

    So rufen Sie die Rollen auf, die Ihrem Dienstkonto zugewiesen wurden:

    1. Öffnen Sie in der Google Cloud Console die Seite IAM:

      Zu IAM

      Wenn Sie diese Seite über die Suchleiste finden, wählen Sie das Ergebnis mit der Zwischenüberschrift IAM und Verwaltung aus.

    2. Wählen Sie Von Google bereitgestellte Rollenzuweisungen einschließen aus.
    3. Wenn das von Ihrem synthetischen Monitor verwendete Dienstkonto nicht aufgeführt ist oder ihm keine Rolle gewährt wurde, die die Berechtigungen in der Rolle des Cloud Trace-Agents (roles/cloudtrace.agent) enthält, gewähren Sie diese Rolle Ihrem Dienstkonto.
  5. Konfigurieren Sie die Benachrichtigungskanäle, die Sie für Benachrichtigungen verwenden möchten. Wir empfehlen, mehrere Arten von Benachrichtigungskanälen zu erstellen. Weitere Informationen finden Sie unter Benachrichtigungskanäle erstellen und verwalten und Benachrichtigungskanäle nach API erstellen und verwalten.

Prüfung auf fehlerhafte Links erstellen

Console

Wenn Sie mit der Google Cloud Console einen synthetischen Monitor erstellen, wird eine neue Cloud Functions-Funktion (2. Generation) bereitgestellt und der Monitor für diese Cloud Functions-Funktion erstellt. Sie können keinen synthetischen Monitor erstellen, der eine vorhandene Cloud Functions-Funktion überwacht.

  1. Prüfen Sie, ob die erforderlichen APIs aktiviert sind, Ihr Projekt ein Compute Engine-Standarddienstkonto enthält und diesem Konto die Rolle „Bearbeiter“ (roles/editor) zugewiesen wurde. Weitere Informationen finden Sie unter Vorbereitung.
  2. Rufen Sie in der Google Cloud Console die Seite  Synthetisches Monitoring auf:

    Zur Seite Synthetisches Monitoring

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

  3. Wählen Sie Synthetischen Monitor erstellen aus.
  4. Wählen Sie für die Vorlage Prüfung fehlerhafter Links aus.
  5. Geben Sie einen Namen für den synthetischen Monitor ein.
  6. Optional: Aktualisieren Sie die Werte für Antwortzeitlimit und Prüfhäufigkeit und fügen Sie benutzerdefinierte Labels hinzu.

  7. Konfigurieren Sie den URI und die zu testenden Elemente:

    1. Klicken Sie auf Ursprungs-URI und geben Sie einen URI ein, der getestet werden soll. Der eingegebene Wert muss ein HTTP- oder HTTPS-Endpunkt sein. z. B. https://mywebsite.example.com.

    2. Optional: Aktualisieren Sie unter Anzahl der Links, denen gefolgt werden soll die maximale Anzahl der getesteten Links. Der Standardwert dieses Feldes ist 10.

    3. Optional: Geben Sie im Feld HTML-Elementselektor das HTML-Element, das abgeglichen werden soll, als durch Kommas getrennte Liste ein. Der eingegebene Wert wird in einen String umgewandelt und dann an die Methode Document: querySelectorAll() übergeben.

      Standardmäßig ist dieses Feld auf a gesetzt, was Ankeranzeigen entspricht. Sie können Werte wie a, img eingeben, wenn Sie sowohl Anker als auch Bilder abgleichen möchten.

    4. Optional: Geben Sie im Feld HTML-Attribute folgen die HTML-Attribute ein, die abgeglichen werden sollen. Die durch Kommas getrennten Werte, die Sie eingeben, werden einzeln an die Methode getAttribute() übergeben.

      Standardmäßig ist dieses Feld auf href gesetzt, wodurch der URI für die Verbindung angegeben wird. Sie können mehrere Attribute eingeben, z. B. href, src. In diesem Beispiel sucht der Code nach dem Attribut href und dann nach dem Attribut src.

    5. Optional: Konfigurieren Sie die Wartezeit auf den Selektor, das Zeitlimit pro URI, die Wiederholungsversuche und die erwarteten Statuscodes:

      1. Klicken Sie auf Weitere Optionen anzeigen.
      2. Wenn Sie die Prüfung für fehlerhafte Links so konfigurieren möchten, dass vor dem Kopieren von Links ein bestimmter Selektor im URI angezeigt wird, geben Sie die CSS-Selektoren in das Feld Auf Elementauswahl warten ein. Der eingegebene Wert wird in einen String konvertiert und dann an die Methode page.waitForSelector() übergeben.

        Wenn der Selektor vor Ablauf des Zeitlimits nicht angezeigt wird, wird der Fehler in den Logs aufgezeichnet.

      3. Ändern Sie die Reihenfolge, in der Links zum Testen ausgewählt werden.

      4. Konfigurieren Sie Wiederholungsversuche.

        Standardmäßig wird an jeden Link eine Anfrage gesendet. Wenn die erste Anfrage aus irgendeinem Grund fehlschlägt, z. B. wenn der Befehl das Zeitlimit überschreitet oder der HTTP-Statuscode nicht 200 ist, wird der Link als fehlgeschlagen markiert.

        Dieses Feld gibt an, wie oft die Prüfung fehlerhafter Links eine HTTP-Anfrage an einen Link senden kann, bevor er als fehlgeschlagen markiert wird.

      5. Konfigurieren Sie ein Zeitlimit, das für jeden URI gilt. Standardmäßig ist dieser Wert auf 30 Sekunden eingestellt.

      6. Klicken Sie auf Option pro Link hinzufügen und füllen Sie das Dialogfeld aus, um den erwarteten Statuscode anzugeben und das Zeitlimit für einen bestimmten URI festzulegen.

  8. Optional: Konfigurieren Sie, ob Screenshots der Antworten erfasst und gespeichert werden sollen. Wenn Sie die Standardeinstellungen verwenden, werden keine Screenshots gespeichert. Wenn Sie die Screenshoterfassung aktivieren, können Sie Screenshots für alle Tests oder nur für fehlgeschlagene Tests erfassen. Cloud Monitoring verwendet die folgende Konvention, um den Cloud Storage-Bucket zu benennen:

    gcm-PROJECT_ID-synthetics-LOCATION
    

    Im vorherigen Ausdruck gilt:

    • PROJECT_ID: ID Ihres Google Cloud-Projekts.
    • LOCATION: Der Speicherort Ihres Cloud Storage-Bucket.

    Sie haben die Möglichkeit, einen vorhandenen Cloud Storage-Bucket zu verwenden.

  9. Prüfen Sie Ihre Konfiguration und achten Sie darauf, dass sie korrekt und vollständig ist. Erstellen Sie dann Ihre Cloud Functions-Funktion:

    1. Klicken Sie auf Funktion erstellen.

      Die Werte in den Feldern der URI-Konfiguration werden in das Options-Objekt in der Datei index.js kopiert, wenn Sie auf Funktion erstellen klicken. Nachdem Sie auf Funktion erstellen geklickt haben, bearbeiten Sie das Objekt Options, um die Konfiguration zu ändern.

    2. Geben Sie einen Anzeigenamen ein und wählen Sie eine Region aus. Namen müssen innerhalb einer Region eindeutig sein.

    3. Führen Sie im Abschnitt Laufzeit, Build, Verbindungen und Sicherheitseinstellungen die folgenden Schritte aus:

      • Achten Sie darauf, dass auf dem Tab Verbindungen die Option Jeden Traffic zulassen ausgewählt ist.

      • Überprüfen Sie die Standardeinstellungen und aktualisieren Sie sie bei Bedarf.

      • Wählen Sie im Feld Laufzeitdienstkonto ein Dienstkonto aus.

    4. Klicken Sie auf Funktion anwenden.

  10. Konfigurieren Sie die Benachrichtigungsrichtlinie:

    1. Optional: Aktualisieren Sie den Namen der Benachrichtigungsrichtlinie und die Dauer des Fehlers, bevor Benachrichtigungen gesendet werden.

    2. Fügen Sie die Benachrichtigungskanäle hinzu.

  11. Klicken Sie auf Erstellen.

    Die von Ihnen definierte Cloud Functions-Funktion wird als 2. Generation erstellt und bereitgestellt und der synthetische Monitor erstellt.

API

Das Erstellen einer Prüfung für fehlerhafte Links mithilfe der Cloud Monitoring API ist identisch mit dem Vorgang zum Erstellen eines anderen synthetischen Monitors. Informationen dazu, wie Sie die Cloud Monitoring API zum Erstellen eines synthetischen Monitors verwenden, finden Sie unter Synthetischen Monitor erstellen auf dem Tab „Cloud Monitoring“.

Bei der Prüfung fehlerhafter Links wird die Vorlage broken-links-ok verwendet. Die Konfiguration für die Prüfung von fehlerhaften Links wird durch das options-Objekt der index.js-Datei angegeben.

Wenn die options.screenshot_options-Struktur definiert ist, erfasst die Prüfung für fehlerhafte Links Screenshots und speichert sie in einem Cloud Storage-Bucket. Wenn das Feld screenshot_options.storage_location nicht definiert ist oder der Wert ein leerer String ist, erstellt Monitoring einen Cloud Storage-Bucket und in diesem werden Screenshots gespeichert. Monitoring verwendet die folgende Konvention, um den Cloud Storage-Bucket zu benennen:

gcm-PROJECT_ID-synthetics-LOCATION

Im vorherigen Ausdruck gilt:

  • PROJECT_ID: ID Ihres Google Cloud-Projekts.
  • LOCATION: Der Speicherort Ihres Cloud Storage-Bucket.

Terraform

Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle. Weitere Informationen finden Sie in der Anbieterreferenzdokumentation zu Terraform.

Der Vorgang zum Erstellen einer Prüfung für fehlerhafte Links mit Terraform ist identisch mit dem Erstellen eines anderen synthetischen Monitors. Informationen zur Verwendung von Terraform zum Erstellen eines synthetischen Monitors finden Sie unter Synthetischen Monitor erstellen. Wählen Sie den Tab „Terraform“ aus.

Bei der Prüfung fehlerhafter Links wird die Vorlage broken-links-ok verwendet. Die Konfiguration für die Prüfung von fehlerhaften Links wird durch das options-Objekt der index.js-Datei angegeben.

Wenn die options.screenshot_options-Struktur definiert ist, erfasst die Prüfung für fehlerhafte Links Screenshots und speichert sie in einem Cloud Storage-Bucket. Wenn das Feld screenshot_options.storage_location nicht definiert ist oder der Wert ein leerer String ist, erstellt Monitoring einen Cloud Storage-Bucket und in diesem werden Screenshots gespeichert. Monitoring verwendet die folgende Konvention, um den Cloud Storage-Bucket zu benennen:

gcm-PROJECT_ID-synthetics-LOCATION

Im vorherigen Ausdruck gilt:

  • PROJECT_ID: ID Ihres Google Cloud-Projekts.
  • LOCATION: Der Speicherort Ihres Cloud Storage-Bucket.

Ergebnisse ansehen

Bei jeder Ausführung führt eine Prüfung auf fehlerhafte Links folgende Schritte aus:

  • Generiert eine Tabelle, in der jede Zeile Informationen zum Testen eines bestimmten URI enthält. Die zusammenfassenden Informationen umfassen den Ziel-URI, die Latenz, den Status und die HTML-Element-ID. In dieser Spalte wird beispielsweise a aufgeführt, wenn ein HTML-Ankerelement getestet wird. Wenn die Zeile dem Ursprungs-URI entspricht, hat die HTML-Element-ID den Wert -.

  • Erfasst Messwerte, Trace-Daten und Logdaten.

  • Erfasst Screenshots, sofern konfiguriert.

Weitere Informationen zum Untersuchen der erfassten Daten finden Sie unter Ergebnisse des synthetischen Monitorings untersuchen.

Fehlerbehebung

Dieser Abschnitt enthält Informationen zur Fehlerbehebung bei der Prüfung fehlerhafter Links.

Die Konfiguration einer Prüfung auf fehlerhafte Links kann nicht bearbeitet werden

Sie haben mit der Google Cloud Console eine Prüfung für fehlerhafte Links erstellt und Sie möchten die getesteten HTML-Elemente ändern oder das URI-Zeitlimit, die Wiederholungsversuche, die Wartezeit auf den Selektor und die Optionen pro Link ändern. Wenn Sie jedoch die Prüfung auf fehlerhafte Links bearbeiten, werden in der Google Cloud Console keine Konfigurationsfelder angezeigt.

So beheben Sie diesen Fehler:

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

    Zur Seite Synthetisches Monitoring

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

  2. Suchen Sie den synthetischen Monitor, den Sie bearbeiten möchten, klicken Sie auf Weitere Optionen und wählen Sie Bearbeiten aus.
  3. Klicken Sie auf Funktion bearbeiten.
  4. Bearbeiten Sie das Objekt options in der Datei index.js und klicken Sie dann auf Funktion anwenden.

    Informationen zu den Feldern und zur Syntax dieses Objekts finden Sie unter broken-links-ok/index.js.

  5. Klicken Sie auf Speichern.

Google Cloud Console-Anzeige, bei der Screenshots nicht gespeichert werden können

Sie haben eine Prüfung auf fehlerhafte Links erstellt und so konfiguriert, dass Screenshots gespeichert werden. In der Google Cloud Console wird jedoch eine der folgenden Warnmeldungen sowie ausführlichere Informationen angezeigt:

  • InvalidStorageLocation
  • StorageValidationError
  • BucketCreationError
  • ScreenshotFileUploadError

Um diese Fehler zu beheben, gehen Sie so vor:

  • Wenn die Meldung InvalidStorageLocation angezeigt wird, prüfen Sie, ob der im Feld options.screenshot_options.storage_location angegebene Cloud Storage-Bucket vorhanden ist.

  • Sehen Sie sich die Logs für Ihre Cloud Functions-Funktion an. Weitere Informationen finden Sie unter Logs suchen.

  • Prüfen Sie, ob das in der entsprechenden Cloud Function verwendete Dienstkonto eine Rolle für Identity and Access Management hat, mit der Cloud Storage-Buckets erstellt, darauf zugegriffen und darin geschrieben werden kann.

Nächste Schritte