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
-
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:
-
Monitoring-Bearbeiter (
roles/monitoring.editor
) -
Cloud Functions Developer (
roles/cloudfunctions.developer
)
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.
-
Monitoring-Bearbeiter (
-
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.
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:
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.
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:
-
Ö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.
- Wählen Sie Von Google bereitgestellte Rollenzuweisungen einschließen aus.
- 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.
-
- 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.
- 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. -
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.
- Wählen Sie Synthetischen Monitor erstellen aus.
- Wählen Sie für die Vorlage Prüfung fehlerhafter Links aus.
- Geben Sie einen Namen für den synthetischen Monitor ein.
Optional: Aktualisieren Sie die Werte für Antwortzeitlimit, Prüfungshäufigkeit und benutzerdefinierte Labels hinzufügen.
Konfigurieren Sie den URI und die zu testenden Elemente:
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.Optional: Aktualisieren Sie unter Anzahl der Links, denen gefolgt werden soll das Maximum Anzahl der getesteten Links. Der Standardwert dieses Feldes ist 10.
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 wiea, img
eingeben, wenn Sie beide Anker abgleichen möchten und Bilder.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 Siehref, src
ein. In diesem Beispiel sucht der Code nach dem Attributhref
und sucht dann nach dem Attributsrc
.Optional: Konfigurieren Sie die Wartezeit auf die Auswahl, das Zeitlimit pro URI, die Wiederholungsversuche und erwartete Statuscodes:
- Klicken Sie auf Weitere Optionen anzeigen.
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.
Ändern Sie die Reihenfolge, in der Links zum Testen ausgewählt werden.
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.
Konfigurieren Sie ein Zeitlimit, das für jeden URI gilt. Standardmäßig ist dieser Wert auf 30 Sekunden eingestellt ist.
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.
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.
Überprüfen Sie Ihre Konfiguration und achten Sie darauf, dass sie korrekt und vollständig ist. und erstellen Sie dann Ihre Cloud Functions-Funktion:
Klicken Sie auf Funktion erstellen.
Die Werte in den Feldern der URI-Konfiguration in das Objekt
Options
in der Dateiindex.js
kopiert, wenn Sie auf Funktion erstellen Klicken Sie auf Funktion erstellen, um den Parameter Konfiguration dasOptions
-Objekt.Geben Sie einen Anzeigenamen ein und wählen Sie eine Region aus. Namen müssen innerhalb eines Region
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.
Klicken Sie auf Funktion anwenden.
Konfigurieren Sie die Benachrichtigungsrichtlinie:
Optional: Name der Benachrichtigungsrichtlinie und Fehlerdauer aktualisieren bevor Benachrichtigungen gesendet werden.
Fügen Sie die Benachrichtigungskanäle hinzu.
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:
-
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.
- 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 dann Klicken Sie auf Funktion anwenden.Informationen zu den Feldern und zur Syntax dieses Objekts finden Sie unter
broken-links-ok/index.js
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 namensoptions.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
- Beispiele für synthetisches Monitoring
- Synthetisches Monitoring verwalten
- Ergebnisse des synthetischen Monitorings untersuchen