Prüftool für 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 Wiederholungen, und stellen dann eine vorkonfigurierte Cloud Run-Funktion bereit. Zur Unterstützung Ihrer Fehlerbehebung und Ihres Debuggings werden in synthetischen Monitoren detaillierte Informationen zu jedem Test gespeichert, einschließlich Screenshots. Anhand von Screenshots können Sie die genaue Antwort sehen, die die Kunden Ihrer Anwendung erhalten.

Weitere Informationen zu synthetischen Monitoren

Diese Funktion wird nur für Google Cloud -Projekte unterstützt. Wählen Sie für App Hub-Konfigurationen das App Hub-Hostprojekt oder das Verwaltungsprojekt des für Apps aktivierten Ordners aus.

Tools zur Überprüfung auf fehlerhafte Links

Jeder Link-Checker testet die Links seriell. Es gibt ein konfigurierbares synthetisches Gesamttimeout.

Standardmäßig führt ein Tool zur Überprüfung auf defekte Links Folgendes aus:

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

Sie geben den Origin-URI an. Sie können konfigurieren, nach welchen HTML-Elementen die Prüfung auf defekte Links sucht, die maximale Anzahl der getesteten Elemente, das Zeitlimit pro Test und ob Wiederholungen durchgeführt werden. Sie können auch konfigurieren, dass die Tools zum Prüfen auf defekte Links warten, bis ein Selektor angezeigt wird.

Für die Prüfung auf defekte Links wird die Vorlage broken-links-ok verwendet. Die Konfiguration für eine Prüfung auf defekte Links wird durch das options-Objekt der Datei index.js angegeben. Wenn Sie den Checker über dieGoogle Cloud Console erstellen, werden Sie nach jeder Konfigurationsoption gefragt 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.

Wenn Sie die Konfiguration eines Prüftools für defekte Links ändern möchten, nachdem Sie es erstellt haben, aktualisieren Sie das options-Objekt und stellen Sie die Cloud Run-Funktion neu bereit.

Hinweise

Führen Sie die folgenden Schritte im Google Cloud -Projekt aus, in dem die Linkprüfung gespeichert werden soll:

  1. Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Ansehen und Ändern von synthetischen Monitoren 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 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:

    Zur Seite Dienstkonten

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

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

  4. Achten Sie darauf, dass dem Compute Engine-Standarddienstkonto oder dem von Ihnen erstellten Dienstkonto die Rolle „Bearbeiter“ (roles/editor) zugewiesen wurde.

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

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

      Rufen Sie IAM auf.

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

    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 mit den Berechtigungen der Rolle „Cloud Trace Agent“ (roles/cloudtrace.agent) zugewiesen wurde, weisen Sie Ihrem Dienstkonto diese Rolle zu.
  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 über die API erstellen und verwalten.
  6. Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    Terraform

    Wenn Sie die Terraform-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.

    1. Install the Google Cloud CLI.

    2. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    3. To initialize the gcloud CLI, run the following command:

      gcloud init
    4. If you're using a local shell, then create local authentication credentials for your user account:

      gcloud auth application-default login

      You don't need to do this if you're using Cloud Shell.

      If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

    Weitere Informationen finden Sie in der Dokumentation zur Google Cloud -Authentifizierung unter ADC für eine lokale Entwicklungsumgebung einrichten.

    REST

    Verwenden Sie die von der gcloud CLI bereitgestellten Anmeldedaten, um die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung zu verwenden.

      After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    Weitere Informationen finden Sie in der Dokumentation zur Google Cloud -Authentifizierung unter Für die Verwendung von REST authentifizieren.

    Prüfung auf fehlerhafte Links erstellen

    Console

    Wenn Sie einen synthetischen Monitor mit der Google Cloud -Konsole erstellen, wird eine neue Cloud Run-Funktion (2. Generation) bereitgestellt und der Monitor für diese Cloud Run-Funktion wird 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 Vorbereitung.
    2. Rufen Sie in der Google Cloud Console die Seite Synthetisches Monitoring auf:

      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 in der Symbolleiste der Google Cloud -Console Ihr Google Cloud -Projekt aus. Wählen Sie für App Hub-Konfigurationen das App Hub-Hostprojekt oder das Verwaltungsprojekt des für Apps aktivierten Ordners aus.
    4. Wählen Sie Synthetischen Monitor erstellen aus.
    5. Wählen Sie als Vorlage Broken link checker aus.
    6. Geben Sie einen Namen für den synthetischen Monitor ein.
    7. Optional: Aktualisieren Sie das Zeitlimit für Antworten und die Prüfhäufigkeit und fügen Sie benutzerdefinierte Labels hinzu.

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

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

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

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

        Standardmäßig ist dieses Feld auf a gesetzt, was Ankern 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, denen gefolgt werden soll die HTML-Attribute ein, die abgeglichen werden sollen. Die von Ihnen eingegebenen kommagetrennten Werte werden einzeln an die Methode getAttribute() übergeben.

        Standardmäßig ist dieses Feld auf href gesetzt, was den URI für den Link angibt. Sie können mehrere Attribute eingeben, z. B. href, src. In diesem Beispiel wird zuerst nach dem Attribut href und dann nach dem Attribut src gesucht.

      5. Optional: Warten auf Selektor, URI-spezifisches Zeitlimit, Wiederholungen und erwartete Statuscodes konfigurieren:

        1. Klicken Sie auf Weitere Optionen anzeigen.
        2. Wenn Sie den Broken-Link-Checker so konfigurieren möchten, dass er wartet, bis ein bestimmter Selektor im URI angezeigt wird, bevor Links extrahiert werden, geben Sie die CSS-Selektoren in das Feld Auf Elementselektor warten ein. Der eingegebene Wert wird in einen String konvertiert und dann an die Methode page.waitForSelector() übergeben.

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

        3. Aktualisieren Sie die Reihenfolge, in der Links für Tests ausgewählt werden.

        4. Wiederholungsversuche konfigurieren

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

          In diesem Feld wird angegeben, wie oft die Prüfung auf defekte Links eine HTTP-Anfrage an einen Link senden kann, bevor der Link als fehlgeschlagen markiert wird.

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

        6. Wenn Sie den erwarteten Statuscode und das Zeitlimit für einen bestimmten URI angeben möchten, klicken Sie auf Option pro Link hinzufügen und füllen Sie das Dialogfeld aus.

    9. Optional: Konfigurieren Sie, ob Screenshots von Antworten erfasst und gespeichert werden. Wenn Sie die Standardeinstellungen verwenden, werden Screenshots nicht gespeichert. Wenn Sie die Erfassung von Screenshots aktivieren, können Sie Screenshots für alle Tests oder nur für fehlgeschlagene Tests erfassen. Cloud Monitoring verwendet die folgende Konvention zum Benennen des Cloud Storage-Bucket:

      gcm-PROJECT_ID-synthetics-LOCATION
      

      Im vorherigen Ausdruck gilt:

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

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

    10. Prüfen Sie Ihre Konfiguration und sorgen Sie dafür, dass sie korrekt und vollständig ist. 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 Datei index.js kopiert, wenn Sie auf Funktion erstellen klicken. Nachdem Sie auf Funktion erstellen geklickt haben, können Sie die Konfiguration ändern, indem Sie das Options-Objekt bearbeiten.

      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 folgende Schritte aus:

        • Achten Sie darauf, dass auf dem Tab Verbindungen die Option Gesamten 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.

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

    12. Klicken Sie auf Erstellen.

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

    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 Prüftools für defekte Links mit Terraform ist identisch mit dem Erstellen eines beliebigen anderen synthetischen Monitors. Informationen zum Erstellen eines synthetischen Monitors mit Terraform finden Sie unter Synthetisches Monitoring erstellen. Wählen Sie dort den Tab „Terraform“ aus.

    Für die Prüfung auf defekte Links wird die Vorlage broken-links-ok verwendet. Die Konfiguration für eine Prüfung auf defekte Links wird durch das options-Objekt der Datei index.js angegeben.

    Wenn die options.screenshot_options-Struktur definiert ist, werden vom Tool zur Prüfung auf fehlerhafte Links Screenshots erstellt und in einem Cloud Storage-Bucket gespeichert. Wenn das Feld screenshot_options.storage_location nicht definiert ist oder der Wert ein leerer String ist, erstellt Monitoring einen Cloud Storage-Bucket und Screenshots werden in diesem Bucket gespeichert. Für den Namen des Cloud Storage-Bucket wird die folgende Konvention verwendet:

    gcm-PROJECT_ID-synthetics-LOCATION
    

    Im vorherigen Ausdruck gilt:

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

    REST

    Das Erstellen einer Prüfung auf defekte Links mit der Cloud Monitoring API ist identisch mit dem Erstellen eines beliebigen anderen synthetischen Monitors. Informationen zum Erstellen eines synthetischen Monitors mit der Cloud Monitoring API finden Sie unter Synthetisches Monitoring erstellen. Wählen Sie dort den Tab „Cloud Monitoring“ aus.

    Für die Prüfung auf defekte Links wird die Vorlage broken-links-ok verwendet. Die Konfiguration für eine Prüfung auf defekte Links wird durch das options-Objekt der Datei index.js angegeben.

    Wenn die options.screenshot_options-Struktur definiert ist, werden vom Tool zur Prüfung auf fehlerhafte Links Screenshots erstellt und in einem Cloud Storage-Bucket gespeichert. Wenn das Feld screenshot_options.storage_location nicht definiert ist oder der Wert ein leerer String ist, erstellt Monitoring einen Cloud Storage-Bucket und Screenshots werden in diesem Bucket gespeichert. Für den Namen des Cloud Storage-Bucket wird die folgende Konvention verwendet:

    gcm-PROJECT_ID-synthetics-LOCATION
    

    Im vorherigen Ausdruck gilt:

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

    Ergebnisse ansehen

    Bei jeder Ausführung führt ein Link-Checker Folgendes aus:

    • Erstellt eine Tabelle, in der jede Zeile Informationen zum Testen eines bestimmten URI enthält. Die Zusammenfassung enthält 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, ist der Wert der HTML-Element-ID .

    • Erfasst Messwerte, Trace-Daten und Logdaten.

    • Erstellt Screenshots, wenn konfiguriert.

    Weitere Informationen zum Analysieren der erfassten Daten finden Sie unter Ergebnisse von synthetischen Monitoren analysieren.

    Fehlerbehebung

    Dieser Abschnitt enthält Informationen, die Ihnen bei der Fehlerbehebung bei der Verwendung von Tools zur Überprüfung auf defekte Links helfen können.

    Konfiguration eines Linkprüfers kann nicht bearbeitet werden

    Sie haben mit der Google Cloud -Konsole eine Funktion zum Prüfen auf defekte Links erstellt und möchten die getesteten HTML-Elemente ändern oder das URI-Zeitlimit, die Wiederholungsversuche, die Option „Auf Selektor warten“ und die Optionen für einzelne Links anpassen. Wenn Sie den Link-Checker bearbeiten, werden die Konfigurationsfelder in der Google Cloud Konsole jedoch nicht angezeigt.

    So beheben Sie diesen Fehler:

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

      Zu Synthetisches Monitoring

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

    2. Wählen Sie in der Symbolleiste der Google Cloud -Console Ihr Google Cloud -Projekt aus. Wählen Sie für App Hub-Konfigurationen das App Hub-Hostprojekt oder das Verwaltungsprojekt des für Apps aktivierten Ordners aus.
    3. Suchen Sie nach dem synthetischen Monitor, den Sie bearbeiten möchten, klicken Sie auf  Weitere Optionen und wählen Sie dann Bearbeiten aus.
    4. Klicken Sie auf Funktion bearbeiten.
    5. Bearbeiten Sie das options-Objekt in der Datei index.js und klicken Sie dann auf Funktion anwenden.

      Informationen zu den Feldern und der Syntax für dieses Objekt finden Sie unter broken-links-ok/index.js.

    6. Klicken Sie auf Speichern.

    Google Cloud Konsole zeigt an, dass das Speichern von Screenshots fehlschlägt

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

    • InvalidStorageLocation
    • StorageValidationError
    • BucketCreationError
    • ScreenshotFileUploadError

    Versuchen Sie Folgendes, um diese Fehler zu beheben:

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

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

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

    Nächste Schritte