Prüfung auf fehlerhafte Links erstellen

In diesem Dokument wird beschrieben, wie Sie einen regelmäßigen Test der Links in einem URI 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. Synthetische Monitoring-Tools speichern detaillierte Informationen zu jedem Test, einschließlich Screenshots, um Sie bei der Fehlerbehebung zu unterstützen. In den Screenshots können Sie die genaue Antwort anzeigen, die die Kunden Ihrer Anwendung sehen.

Weitere Informationen zu synthetischen Monitoren finden Sie unter Informationen zu synthetischen Monitoren.

Prüfung auf fehlerhafte Links

Jede Prüfung für fehlerhafte Links testet die Links nacheinander und es gibt ein konfigurierbares allgemeines synthetisches Zeitlimit.

Das Tool zur Prüfung fehlerhafter Links führt standardmäßig folgende Schritte aus:

  • Sucht im Ursprungs-URI nach HTML-Ankerelementen mit href-Attributen.
  • Testet die ersten zehn 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, überprüft die Prüffunktion, ob der HTTP-Antwortstatus 200 lautet. Das weist auf eine erfolgreiche Antwort hin. Die Prüffunktion führt keine Wiederholungsversuche durch.

Sie geben den Ursprungs-URI an. Sie können konfigurieren, nach welchen HTML-Elementen die Prüfung für fehlerhafte Links sucht, die maximale Anzahl der getesteten Elemente, das Zeitlimit pro Test und ob Wiederholungsversuche ausgeführt werden sollen. Sie können auch Prüfungen auf fehlerhafte Links so konfigurieren, dass sie darauf warten, dass ein Selektor angezeigt wird.

Für die Prüfung auf fehlerhafte Links wird die Vorlage broken-links-ok verwendet. Die Konfiguration für die Prüfung auf fehlerhafte Links wird durch das Objekt options der Datei index.js festgelegt. 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 ausfüllen.

Nachdem Sie eine 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 erforderlichen Berechtigungen zum Ansehen und Ändern von synthetischen Monitoren mithilfe der Google Cloud Console erhalten:

    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.

    Wählen Sie im Navigationsbereich der Google Cloud Console IAM und Verwaltung und dann Dienstkonten aus:

    Zur Seite Dienstkonten

    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 Ihrem Dienstkonto zugewiesenen Rollen auf:

    1. Wählen Sie im Navigationsbereich der Google Cloud Console IAM aus:

      Zu IAM

    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 der Rolle des Cloud Trace-Agent (roles/cloudtrace.agent) enthält, gewähren Sie diese Rolle Ihrem Dienstkonto.
  5. Konfigurieren Sie die Benachrichtigungskanäle, die Sie zum Empfangen von 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 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. Wählen Sie im Navigationsbereich der Google Cloud Console Monitoring und dann  Synthetisches Monitoring aus:

    Zu Synthetisches Monitoring

  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, den Sie testen möchten. 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 Felds 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.

      Die Standardeinstellung für dieses Feld ist a, was Ankern entspricht. Sie können Werte wie a, img eingeben, wenn Sie sowohl Anker als auch Bilder zuordnen möchten.

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

      Die Standardeinstellung für dieses Feld ist href, wodurch der URI für den Link angegeben wird. Sie können mehrere Attribute eingeben, z. B. href, src. In diesem Beispiel wird nach dem Attribut href und dann nach dem Attribut src gesucht.

    5. Optional: Konfigurieren Sie die Wartezeit für den Selektor, das Zeitlimit pro URI, Wiederholungsversuche und erwartete Statuscodes:

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

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

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

      4. Konfigurieren Sie Wiederholungsversuche.

        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.

        Dieses Feld gibt an, wie oft die Prüfung auf fehlerhafte 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 eingestellt.

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

  8. Optional: Legen Sie fest, 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 erstellen. 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 können einen vorhandenen Cloud Storage-Bucket verwenden.

  9. Prüfen Sie, ob Ihre Konfiguration korrekt und vollständig ist, und erstellen Sie dann Ihre Cloud Functions-Funktion:

    1. Klicken Sie auf Funktion erstellen.

      Wenn Sie auf Funktion erstellen klicken, werden die Werte in den Feldern URI-Konfiguration in das Objekt Options in der Datei index.js kopiert. 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 dürfen innerhalb einer Region nur einmal vorkommen.

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

      • Auf dem Tab Verbindungen muss Gesamten Traffic zulassen ausgewählt sein.

      • Ü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 Fehlerdauer, 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. Der synthetische Monitor wird erstellt.

API

Wenn Sie mit der Cloud Monitoring API eine Prüfung auf fehlerhafte Links erstellen, gehen Sie genauso vor wie bei einem anderen synthetischen Monitor. Informationen zur Verwendung der Cloud Monitoring API zum Erstellen eines synthetischen Monitors finden Sie unter Synthetischen Monitor erstellen. Wählen Sie dort den Tab „Cloud Monitoring“ aus.

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

Wenn die options.screenshot_options-Struktur definiert ist, erfasst die Prüfung auf 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 speichert Screenshots in diesem Bucket. 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.

Wenn Sie mit Terraform eine Prüfung zur Prüfung auf fehlerhaften Links erstellen, ist der Vorgang mit dem Erstellen eines anderen synthetischen Monitors identisch. Informationen zur Verwendung von Terraform zum Erstellen eines synthetischen Monitors finden Sie unter Synthetischen Monitor erstellen. Wählen Sie dort den Terraform-Tab aus.

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

Wenn die options.screenshot_options-Struktur definiert ist, erfasst die Prüfung auf 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 speichert Screenshots in diesem Bucket. 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

Das Tool zur Prüfung auf fehlerhaften Links führt bei jeder Ausführung folgende Schritte durch:

  • Generiert eine Tabelle, in der jede Zeile Informationen zum Testen eines bestimmten URI enthält. Dazu gehören der Ziel-URI, die Latenz, der Status und die ID des HTML-Elements. In dieser Spalte wird beispielsweise a aufgelistet, wenn ein HTML-Ankerelement getestet wird. Wenn die Zeile dem Ursprungs-URI entspricht, lautet der Wert der HTML-Element-ID -.

  • Erfasst Messwerte, Trace-Daten und Logdaten.

  • Erstellt Screenshots, wenn konfiguriert.

Weitere Informationen zur Untersuchung der erfassten Daten finden Sie unter Ergebnisse des synthetischen Monitoring ansehen.

Fehlerbehebung

Mithilfe der Informationen in diesem Abschnitt können Sie Fehler bei der Prüfung fehlerhafter Links beheben.

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

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

So beheben Sie diesen Fehler:

  1. Wählen Sie im Navigationsbereich der Google Cloud Console Monitoring und dann  Synthetisches Monitoring aus:

    Zu Synthetisches Monitoring

  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.

In der Google Cloud Console können Screenshots nicht gespeichert werden

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, versuchen Sie Folgendes:

  • 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 Ihrer Cloud Functions-Funktion an. Weitere Informationen finden Sie unter Logs suchen.

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

Nächste Schritte