Prüfung auf 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 Function 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 die genaue Antwort, die die Kunden Ihrer Anwendung sehen.

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

Prüfung fehlerhafter Links

Bei jeder Prüfung auf defekte Links werden die Links nacheinander getestet. 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 eingeht, bestätigt, dass der Der HTTP-Antwortstatus ist 200, was auf eine erfolgreiche Antwort hinweist. Die Prüfung führt keine Wiederholungsversuche durch.

Sie geben den Ursprungs-URI an. Sie können konfigurieren, welche HTML-Elemente fehlerhafte Links suchen, die maximale Anzahl getesteter Elemente, die Zeitüberschreitung pro Test und ob Wiederholungsversuche durchgeführt werden. Sie können auch Überprüfung fehlerhafter Links, die auf das Anzeigen einer Auswahl warten.

Bei der Prüfung fehlerhafter Links wird die broken-links-ok verwendet. Vorlage. Die Konfiguration für die Prüfung von fehlerhaften Links wird durch den options-Objekt der Datei index.js. Wenn Sie die Diagnose mithilfe der Methode Google Cloud Console haben, werden Sie nach jeder Konfigurationsoption gefragt wird die Cloud Functions-Funktion für Sie aktualisiert. Wenn Sie jedoch das Cloud Monitoring API oder Terraform verwenden möchten, 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 Cloud Function noch einmal bereit.

Hinweise

  1. So erhalten Sie die Berechtigungen, die Sie zum Aufrufen und Ändern synthetischer Monitore mithilfe der Google Cloud Console benötigen: bitten Sie Ihren Administrator, Ihnen folgende IAM-Rollen für Ihr Projekt:

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

    Sie können 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, ob Ihr Google Cloud-Projekt die Compute Engine-Standardversion enthält Dienstkonto. 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:

    Zu Dienstkonten

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

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

  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 finden, wählen Sie das Ergebnis mit der Zwischenüberschrift IAM und Verwaltung.

    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 Es wurde keine Rolle gewährt, die die Berechtigungen der Rolle enthält des Cloud Trace-Agents (roles/cloudtrace.agent) und gewähren Sie diese Rolle dann Ihr 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 nach API erstellen und verwalten

Prüfung auf fehlerhafte Links erstellen

Console

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

  1. Stellen Sie sicher, dass Sie die Option erforderlichen APIs, die Ihr Projekt enthält Compute Engine-Standarddienstkonto wurde die Rolle "Bearbeiter" (roles/editor) zugewiesen. Weitere Informationen Siehe Vorbereitung.
  2. Wechseln Sie in der Google Cloud Console zur Seite Synthetisches Monitoring:

    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, Prüfungshäufigkeit und benutzerdefinierte Labels hinzufügen.

  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 Wert muss ein HTTP- oder HTTPS-Endpunkt sein. Beispiel: können Sie https://mywebsite.example.com eingeben.

    2. Optional: Aktualisieren Sie unter Anzahl der Links, denen gefolgt werden soll das Maximum Anzahl der getesteten Links. Der Standardwert dieses Feldes 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 konvertiert und dann an Methode Document: querySelectorAll()

      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 folgen die Zeichenfolge HTML-Attribute, 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. Geben Sie href, src ein. In diesem Beispiel sucht der Code nach dem Attribut href und sucht dann nach dem Attribut src.

    5. Optional: Konfigurieren Sie die Wartezeit auf die Auswahl, das Zeitlimit pro URI, die Wiederholungsversuche 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 umgewandelt und dann an den page.waitForSelector()-Methode.

        Wird der Selektor vor Ablauf des Zeitlimits nicht angezeigt, ist der wird 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 Anfrage schlägt fehl, z. B. wenn der Befehl das Zeitlimit überschreitet oder Wenn 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 für jeden URI gilt. Standardmäßig ist dieser Wert auf 30 Sekunden eingestellt ist.

      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: Legen Sie fest, ob Screenshots der Antworten erfasst und gespeichert. Wenn Sie die Standardeinstellungen verwenden, werden keine Screenshots 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 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. Überprüfen Sie Ihre Konfiguration und achten Sie darauf, dass sie korrekt und vollständig ist. und erstellen Sie dann Ihre Cloud Functions-Funktion:

    1. Klicken Sie auf Funktion erstellen.

      Die Werte in den Feldern der URI-Konfiguration in das Objekt Options in der Datei index.js kopiert, wenn Sie auf Funktion erstellen Klicken Sie auf Funktion erstellen, um den Parameter Konfiguration das Options-Objekt.

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

    3. Gehen Sie im Bereich Laufzeit, Build, Verbindungen und Sicherheitseinstellungen wie folgt vor: Gehen Sie so vor:

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

      • Ü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: 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 Functions-Funktion wird als und der synthetische Monitor erstellt wird.

API

Die Erstellung einer Prüfung auf fehlerhafte Links mithilfe der Methode Cloud Monitoring API ist identisch mit dem Erstellen anderer synthetischer Monitor. Informationen zur Verwendung der Cloud Monitoring API zum Erstellen eines synthetischen Monitors finden Sie unter Synthetischen Monitor erstellen. Tab „Cloud Monitoring“

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

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 das Feld Wert ein leerer String ist, erstellt Monitoring einen Cloud Storage-Bucket und Screenshots werden in diesem Bucket gespeichert. Monitoring verwendet die folgende Konvention zur Benennung des Cloud Storage-Bucket:

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.

Die Erstellung einer Prüfung auf fehlerhafte Links mithilfe von Terraform ist identisch mit dem Erstellen anderer synthetischer Monitor. Informationen zur Verwendung von Terraform zum Erstellen eines synthetischen Monitors: finden Sie unter Synthetischen Monitor erstellen. Tab „Terraform“.

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

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 das Feld Wert ein leerer String ist, erstellt Monitoring einen Cloud Storage-Bucket und Screenshots werden in diesem Bucket gespeichert. Monitoring verwendet die folgende Konvention zur Benennung des Cloud Storage-Bucket:

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 über das Testen von einen bestimmten URI. 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 Ursprungs-URI ist der Wert der HTML-Element-ID -.

  • Erfasst Messwerte, Trace-Daten und Logdaten.

  • Erfasst Screenshots, sofern konfiguriert.

Weitere Informationen dazu, wie Sie die erfassten 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.

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

Sie haben mit der Google Cloud Console eine Prüfung auf fehlerhafte Links erstellt und möchten, die getesteten HTML-Elemente ändern oder URI-Zeitüberschreitung, Wiederholungsversuche, Warten auf die Auswahl und Optionen pro Link. Wenn Sie jedoch die Prüfung auf fehlerhafte Links bearbeiten, Konfigurationsfelder anzeigen.

So beheben Sie diesen Fehler:

  1. Wechseln Sie in der Google Cloud Console zur Seite Synthetisches Monitoring:

    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 dann Klicken Sie 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 Warnungen angezeigt: mit ausführlicheren Informationen:

  • InvalidStorageLocation
  • StorageValidationError
  • BucketCreationError
  • ScreenshotFileUploadError

Um diese Fehler zu beheben, gehen Sie so vor:

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

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

  • Prüfen Sie, ob das Dienstkonto, das im entsprechenden Cloud Function haben die Rolle „Identity and Access Management“, und in Cloud Storage-Buckets schreiben.

Nächste Schritte