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 bei der Fehlerbehebung speichern synthetische Monitore detaillierte Informationen zu jedem Test, einschließlich Screenshots. Anhand von Screenshots können Sie genau sehen, welche Antwort die Kunden Ihrer Anwendung sehen.
Weitere Informationen zu synthetischen Monitoren finden Sie unter Synthetische Monitore.
Linksuche
Jeder Prüfer für fehlerhafte Links testet die Links nacheinander. Es gibt eine konfigurierbare allgemeine Zeitüberschreitung.
Standardmäßig führt ein Tool zum Prüfen von fehlerhaften Links Folgendes aus:
- Im Ursprungs-URI wird nach HTML-Ankerelementen mit
href
-Attributen gesucht. - Die ersten 10 Links werden am Ursprungs-URI getestet.
- Für jeden Link sendet der Prüfer eine Anfrage und wartet dann maximal 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 die Überprüfung von fehlerhaften Links auch so konfigurieren, dass gewartet wird, bis eine Auswahl erscheint.
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 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 einen Checker für fehlerhafte Links erstellt haben, aktualisieren Sie zum Ändern der Konfiguration das options
-Objekt und stellen Sie die Cloud Run-Funktion neu bereit.
Hinweise
-
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Aufrufen und Ändern synthetischer Monitore in der Google Cloud Console benötigen:
-
Monitoring-Betrachter (
roles/monitoring.editor
) -
Cloud Functions Developer (
roles/cloudfunctions.developer
)
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.
-
Monitoring-Betrachter (
-
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.
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. Es hat einen ähnlichen Namen wie
12345-compute@developer.gserviceaccount.com
.Rufen Sie in der Google Cloud Console die Seite Dienstkonten auf:
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 schließen Sie das Dialogfeld ab.
Dem Compute Engine-Standarddienstkonto oder dem von Ihnen erstellten Dienstkonto muss die Rolle „Bearbeiter“ (
roles/editor
) zugewiesen sein.So rufen Sie die Rollen auf, die Ihrem Dienstkonto zugewiesen sind:
-
Ö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 & Admin ist.
- Wählen Sie Von Google bereitgestellte Rollenzuweisungen einschließen aus.
- 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, erteilen Sie diese Rolle Ihrem Dienstkonto.
-
- Konfigurieren Sie die Benachrichtigungskanäle, über die Sie Benachrichtigungen erhalten möchten. Wir empfehlen, mehrere Benachrichtigungskanäle zu erstellen. 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.
- 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. -
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.
- Wählen Sie Synthetischen Monitor erstellen aus.
- Wählen Sie als Vorlage Broken link checker aus.
- Geben Sie einen Namen für den synthetischen Monitor ein.
Optional: Aktualisieren Sie die Antwortzeitüberschreitung und die Prüfzeitraum und fügen Sie benutzerdefinierte Labels hinzu.
Konfigurieren Sie die URI und die zu testenden Elemente:
Klicken Sie auf Quell-URI und geben Sie einen URI ein, den Sie testen möchten. Der eingegebene Wert muss ein HTTP- oder HTTPS-Endpunkt sein. Sie können beispielsweise
https://mywebsite.example.com
eingeben.Optional: Aktualisieren Sie unter Anzahl der Links, denen gefolgt werden soll die maximale Anzahl der getesteten Links. Der Standardwert dieses Felds ist 10.
Optional: Geben Sie im Feld HTML-Element-Selektor 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 Ankern entspricht. Sie können Werte wiea, img
eingeben, wenn Sie sowohl Anker als auch Bilder abgleichen möchten.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. Dies ist der URI für den Link. Sie können mehrere Attribute eingeben, z. B.href, src
. In diesem Beispiel wird im Code nach dem Attributhref
und dann nach dem Attributsrc
gesucht.Optional: Konfigurieren Sie „Warten auf Selector“, Zeitüberschreitung pro URI, Wiederholungen und erwartete Statuscodes:
- Klicken Sie auf Weitere Optionen anzeigen.
Wenn Sie die Prüfung auf fehlerhafte Links so konfigurieren möchten, dass gewartet wird, bis ein bestimmter Selektor im URI erscheint, bevor Links gescrapt werden, geben Sie die CSS-Selektoren in das Feld Auf Element-Selektor warten ein. Der eingegebene Wert wird in einen String konvertiert und dann an die Methode
page.waitForSelector()
übergeben.Wenn die Auswahl vor Ablauf der Zeitüberschreitung nicht angezeigt wird, wird der Fehler in den Protokollen aufgezeichnet.
Aktualisieren Sie die Reihenfolge, in der Links für den Test ausgewählt werden.
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.In diesem Feld wird angegeben, wie oft der Prüfer für fehlerhafte Links eine HTTP-Anfrage an einen Link senden kann, bevor der Link als fehlerhaft markiert wird.
Konfigurieren Sie ein Zeitlimit, das auf jeden URI angewendet wird. Standardmäßig ist dieser Wert auf 30 Sekunden festgelegt.
Wenn Sie den erwarteten Statuscode und die Zeitüberschreitung für einen bestimmten URI angeben möchten, klicken Sie auf Option pro Link hinzufügen und füllen Sie das Dialogfeld aus.
Optional: Konfigurieren Sie, ob Screenshots von Antworten erfasst und gespeichert werden. Wenn Sie die Standardeinstellungen verwenden, werden Screenshots nicht gespeichert. Wenn Sie die Screenshot-Erfassung aktivieren, können Sie Screenshots für alle Tests oder nur für fehlgeschlagene Tests erfassen. In Cloud Monitoring wird der Cloud Storage-Bucket folgendermaßen benannt:
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.
Prüfen Sie Ihre Konfiguration und achten Sie darauf, dass sie korrekt und vollständig ist. Erstellen Sie dann Ihre Cloud Run-Funktion:
Klicken Sie auf Funktion erstellen.
Die Werte in den Feldern der URI-Konfiguration werden in das
Options
-Objekt in derindex.js
-Datei kopiert, wenn Sie auf Funktion erstellen klicken. Nachdem Sie auf Funktion erstellen geklickt haben, bearbeiten Sie dasOptions
-Objekt, um die Konfiguration zu ändern.Geben Sie einen Anzeigenamen ein und wählen Sie eine Region aus. Namen müssen innerhalb einer Region eindeutig sein.
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.
Klicken Sie auf Funktion anwenden.
Konfigurieren Sie die Benachrichtigungsrichtlinie:
Optional: Aktualisieren Sie den Namen der Benachrichtigungsrichtlinie und die Dauer des Fehlers, bevor Benachrichtigungen gesendet werden.
Fügen Sie die Benachrichtigungskanäle hinzu.
Klicken Sie auf Erstellen.
Die von Ihnen definierte Cloud Run-Funktion wird als Cloud Run-Funktion der 2. Generation erstellt und bereitgestellt. Der synthetische Monitor wird erstellt.
API
Das Erstellen einer Prüfung auf fehlerhafte Links mit der Cloud Monitoring API entspricht dem Erstellen eines anderen synthetischen Monitors. Informationen zum Erstellen eines synthetischen Monitors mit der Cloud Monitoring API finden Sie unter Synthetisches Monitoring erstellen. Wählen Sie dazu den Tab „Cloud Monitoring“ aus.
Für die Prüfung auf fehlerhafte 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, 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, 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 Checker für fehlerhafte Links mit Terraform entspricht dem Erstellen eines anderen synthetischen Monitors. Informationen zum Erstellen eines synthetischen Monitors mit Terraform finden Sie unter Synthetischen Monitor erstellen. Wählen Sie dazu den Tab „Terraform“ aus.
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, 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, 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.
Ergebnisse analysieren
Bei jeder Ausführung führt ein Checker für fehlerhafte Links Folgendes aus:
Er generiert 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 Protokolldaten.
Erfasst Screenshots, wenn konfiguriert.
Weitere Informationen zum Analysieren der erfassten Daten finden Sie unter Ergebnisse von synthetischen Monitoren analysieren.
Fehlerbehebung
In diesem Abschnitt finden Sie Informationen zur Fehlerbehebung bei Linksperrlisten.
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 ändern oder die URI-Zeitüberschreitung, die Wiederholungen, die Option „Warten auf Auswahl“ und die Optionen pro Link anpassen. 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:
-
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.
- Suchen Sie den synthetischen Monitor, den Sie bearbeiten möchten, klicken Sie auf more_vert Weitere Optionen und wählen Sie Bearbeiten aus.
- Klicken Sie auf Funktion bearbeiten.
Bearbeiten Sie das
options
-Objekt in der Dateiindex.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
.Klicken Sie auf Speichern.
In der Google Cloud Console wird angezeigt, dass das Speichern von Screenshots fehlgeschlagen ist
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 beheben Sie diese Fehler:
Wenn Sie die Meldung
InvalidStorageLocation
sehen, prüfen Sie, ob der im Feldoptions.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 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
- Beispiele für synthetische Monitore
- Synthetische Monitore verwalten
- Ergebnisse synthetischer Monitore analysieren