Prüftool für fehlerhafte Links erstellen

In diesem Dokument wird beschrieben, wie Sie einen regelmäßigen Test der in einem URI enthaltene Links durch Erstellen eines synthetischen Monitors. Sie geben die wie der Ursprungs-URI, die Anzahl der getesteten Links, und die Anzahl der Wiederholungen, und stellen dann eine vorkonfigurierte Cloud Run-Funktion bereit. Damit Sie Fehler leichter beheben können, speichern synthetische Monitoring-Funktionen detaillierte Informationen zu den einzelnen Tests, einschließlich Screenshots. Auf Screenshots sehen Sie der genauen Antwort, die die Kunden Ihrer Anwendung sehen.

Weitere Informationen zu synthetischem Monitoring finden Sie unter Informationen zu synthetischem Monitoring

Links auf Fehler prüfen

Bei jeder Prüfung auf defekte Links werden die Links nacheinander getestet. Es gibt eine allgemeine synthetische Zeitüberschreitung, konfigurierbar.

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 höchstens 30 Sekunden auf eine Antwort. Wenn eine Antwort empfangen wird, prüft der Checker, ob der HTTP-Antwortstatus 200 ist, was auf eine erfolgreiche Antwort hinweist. Der Prüfer führt keine Wiederholungen durch.

Sie geben den Ursprungs-URI an. Sie können konfigurieren, nach welchen HTML-Elementen die Funktion für fehlerhafte Links suchen soll, wie viele Elemente maximal getestet werden sollen, wie lange ein Test dauern darf und ob Wiederholungen durchgeführt werden sollen. Sie können auch Überprüfung fehlerhafter Links, die auf das Anzeigen einer Auswahl warten.

Für die Überprüfung von fehlerhaften Links wird die Vorlage broken-links-ok verwendet. Die Konfiguration für die Prüfung von fehlerhaften Links wird durch den options-Objekt der Datei index.js. Wenn Sie den Checker mit der Google Cloud Console erstellen, werden Sie für jede Konfigurationsoption aufgefordert und die Cloud Run-Funktion wird für Sie aktualisiert. Wenn Sie jedoch die Cloud Monitoring API oder Terraform verwenden, müssen Sie dieses Objekt ausfüllen.

Nachdem Sie die Prüfung fehlerhafter Links erstellt haben, aktualisieren Sie die Konfiguration, um die Konfiguration zu ändern. options und stellen Sie die Cloud Run-Funktion noch einmal bereit.

Hinweise

  1. Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Aufrufen und Ändern synthetischer Monitore in der Google Cloud Console benötigen:

    Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

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

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

    Enable the APIs

  3. Prüfen Sie, ob Ihr Google Cloud-Projekt das standardmäßige Compute Engine-Dienstkonto enthält. Dieses Dienstkonto wird erstellt, wenn Sie den Compute Engine API 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 aus, dessen Zwischenüberschrift IAM und Verwaltung.

    Wenn das Compute Engine-Standarddienstkonto nicht vorhanden ist, klicken Sie auf Dienstkonto erstellen und schließen Sie das Dialogfeld ab.

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

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

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

      Rufen Sie IAM auf.

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

    2. Wählen Sie Von Google bereitgestellte Rollenzuweisungen einschließen aus.
    3. Wenn das Dienstkonto, das von Ihrem synthetischen Monitor verwendet wird, nicht aufgeführt ist oder ihm keine Rolle mit den Berechtigungen der Rolle „Cloud Trace Agent“ (roles/cloudtrace.agent) zugewiesen wurde, erteilen Sie diese Rolle Ihrem Dienstkonto.
  5. Konfigurieren Sie die Benachrichtigungskanäle, die Sie für den Empfang von Benachrichtigungen verwenden möchten Benachrichtigungen. Wir empfehlen, mehrere Arten von Benachrichtigungen zu erstellen Kanäle. Weitere Informationen finden Sie unter Benachrichtigungskanäle erstellen und verwalten und Benachrichtigungskanäle per API erstellen und verwalten.

Prüftool für fehlerhafte Links erstellen

Console

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

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

    Gehen Sie zu 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 als Vorlage Broken link checker aus.
  5. Geben Sie einen Namen für den synthetischen Monitor ein.
  6. Optional: Aktualisieren Sie die Antwortzeitüberschreitung und die Prüfzeitraum und fügen Sie benutzerdefinierte Labels hinzu.

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

    1. Klicken Sie auf Quell-URI und geben Sie einen URI ein, den Sie testen möchten. Der Wert muss ein HTTP- oder HTTPS-Endpunkt sein. Sie können beispielsweise https://mywebsite.example.com eingeben.

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

    3. Optional: Geben Sie im Feld HTML-Element-Selektor die HTML- Element, das abgeglichen werden soll, als durch Kommas getrennte Liste. 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. Ich können Werte wie a, img eingeben, wenn Sie beide Anker abgleichen möchten und Bilder.

    4. Optional: Geben Sie im Feld HTML-Attribute, denen gefolgt werden soll die HTML-Attribute ein, die abgeglichen werden sollen. Die kommagetrennten Werte, die Sie einzeln eingeben, an die Methode getAttribute() übergeben.

      Standardmäßig ist dieses Feld auf href gesetzt. Damit wird der URI für auf den Link. 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 „Warten auf Selector“, Zeitüberschreitung pro URI, Wiederholungen und erwartete Statuscodes:

      1. Klicken Sie auf Weitere Optionen anzeigen.
      2. Um die Prüfung für fehlerhafte Links so zu konfigurieren, dass auf eine bestimmte die im URI angezeigt werden soll, bevor Links kopiert werden, CSS-Selektoren in der Auf das Feld Elementauswahl warten. Der eingegebene Wert wird in einen String konvertiert und dann an die Methode page.waitForSelector() übergeben.

        Wird der Selektor vor Ablauf des Zeitlimits nicht angezeigt, ist der wird in den Logs aufgezeichnet.

      3. Aktualisieren Sie die Reihenfolge, in der Links für den Test 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 abläuft oder der HTTP-Statuscode nicht 200 ist, wird der Link als fehlgeschlagen markiert.

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

      5. Konfigurieren Sie ein Zeitlimit, das auf jeden URI angewendet wird. Standardmäßig ist dieser Wert auf 30 Sekunden festgelegt.

      6. So geben Sie den erwarteten Statuscode an und führen eine Zeitüberschreitung für einen bestimmten URI durch: Klicken Sie auf Option pro Link hinzufügen und füllen Sie das Dialogfeld aus.

  8. Optional: Konfigurieren Sie, ob Screenshots von Antworten erfasst und gespeichert werden. Wenn Sie die Standardeinstellungen verwenden, werden Screenshots nicht gespeichert. Wenn Sie die Screenshot-Sammlung aktivieren, können Sie Screenshots für oder nur für fehlgeschlagene Tests. Cloud Monitoring nutzt verwenden Sie die folgende Konvention, um den Cloud Storage-Bucket zu benennen:

    gcm-PROJECT_ID-synthetics-LOCATION
    

    Im vorherigen Ausdruck:

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

    Sie können einen vorhandenen Cloud Storage-Bucket verwenden.

  9. Überprüfen Sie Ihre Konfiguration und achten Sie darauf, dass sie korrekt und vollständig ist. und erstellen Sie dann Ihre Cloud Run-Funktion:

    1. Klicken Sie auf Funktion erstellen.

      Die Werte in den Feldern der URI-Konfiguration werden in das Options-Objekt in der index.js-Datei kopiert, wenn Sie auf Funktion erstellen klicken. Nachdem Sie auf Funktion erstellen geklickt haben, bearbeiten Sie das Options-Objekt, 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 Gesamten Traffic zulassen ausgewählt ist.

      • Prü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: Name der Benachrichtigungsrichtlinie und Fehlerdauer aktualisieren bevor Benachrichtigungen gesendet werden.

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

  11. Klicken Sie auf Erstellen.

    Die von Ihnen definierte Cloud Run-Funktion wird und der synthetische Monitor erstellt wird.

API

Das Erstellen einer Prüfung auf fehlerhafte Links mit der Cloud Monitoring API entspricht dem Erstellen eines anderen synthetischen Monitors. Informationen zur Verwendung der Cloud Monitoring API zum Erstellen eines synthetischen Monitors finden Sie unter Synthetischen Monitor erstellen. Tab „Cloud Monitoring“

Für die Überprüfung von fehlerhaften Links wird die Vorlage broken-links-ok verwendet. Die Konfiguration für einen Checker für fehlerhafte Links wird durch das options-Objekt der index.js-Datei angegeben.

Wenn die options.screenshot_options-Struktur definiert ist, Die Prüfung auf defekte Links erfasst 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, wird von Monitoring ein Cloud Storage-Bucket erstellt und Screenshots werden in diesem Bucket gespeichert. Für den Cloud Storage-Bucket wird bei der Überwachung die folgende Namenskonvention verwendet:

gcm-PROJECT_ID-synthetics-LOCATION

Im vorherigen Ausdruck:

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

Das Erstellen eines Links mit unterbrochener Verbindung mit Terraform entspricht dem Erstellen eines anderen synthetischen Monitors. Informationen zur Verwendung von Terraform zum Erstellen eines synthetischen Monitors: finden Sie unter Synthetischen Monitor erstellen. Tab „Terraform“.

Für die Überprüfung von fehlerhaften Links wird die Vorlage broken-links-ok verwendet. Die Konfiguration für einen Checker für fehlerhafte Links wird durch das options-Objekt der index.js-Datei angegeben.

Wenn die options.screenshot_options-Struktur definiert ist, Die Prüfung auf defekte Links erfasst 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, wird von Monitoring ein Cloud Storage-Bucket erstellt und Screenshots werden in diesem Bucket gespeichert. Für den Cloud Storage-Bucket wird bei der Überwachung die folgende Namenskonvention verwendet:

gcm-PROJECT_ID-synthetics-LOCATION

Im vorherigen Ausdruck:

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

Ergebnisse analysieren

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

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

  • Erfasst Messwerte, Trace-Daten und Protokolldaten.

  • Erfasst Screenshots, wenn konfiguriert.

Weitere Informationen dazu, wie Sie die gesammelten Daten untersuchen können, finden Sie unter Ergebnisse des synthetischen Monitorings untersuchen

Fehlerbehebung

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

Konfiguration eines Links mit Fehlern kann nicht bearbeitet werden

Sie haben mit der Google Cloud Console einen Checker für fehlerhafte Links erstellt und möchten die getesteten HTML-Elemente oder die URI-Zeitüberschreitung, die Wiederholungen, die Option „Warten auf Auswahl“ und die Optionen pro Link ändern. Wenn Sie die Funktion zum Prüfen auf fehlerhafte Links bearbeiten, werden in der Google Cloud Console jedoch 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 options-Objekt 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 zusammen mit ausführlicheren Informationen angezeigt:

  • InvalidStorageLocation
  • StorageValidationError
  • BucketCreationError
  • ScreenshotFileUploadError

So können Sie diese Fehler beheben:

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

  • Rufen Sie die Logs für Ihre Cloud Run-Funktion auf. Weitere Informationen finden Sie unter Logs suchen.

  • Prüfen Sie, ob das Dienstkonto, das in der entsprechenden Cloud Run-Funktion verwendet wird, eine Identity and Access Management-Rolle hat, mit der es Cloud Storage-Buckets erstellen, darauf zugreifen und in sie schreiben kann.

Nächste Schritte