In diesem Dokument werden die Vorlagen und Beispielcode beschrieben, die zum Erstellen synthetischer Monitore zur Verfügung stehen. Die Beispielfunktionen sind im GitHub-Repository Google Cloud/synthetics-sdk-nodjs
verfügbar.
Wenn Sie Tests schreiben und sich nicht auf eine Vorlage verlassen, müssen Sie dafür sorgen, dass Ihr Test bestanden wird, sofern kein Error
ausgelöst wird. Wir empfehlen Ihnen, die Assert
-Bibliothek zu verwenden, damit Fehler beim Auftreten von Fehlern der richtigen Codezeile zugeordnet werden.
Allgemeine Vorlagen
Die generischen Vorlagen sind so konfiguriert, dass Trace- und Logdaten für ausgehende HTTP-Anfragen erfasst werden. Die Lösung nutzt das OpenTelemetry-Modul auto-instrumentation-node und den Winston-Logger. Aufgrund der Abhängigkeit von Open-Source-Produkten sind Änderungen an der Struktur der Trace- und Logdaten zu erwarten. Daher sollten die erfassten Trace- und Logdaten nur zur Fehlerbehebung verwendet werden.
Sie können Ihren eigenen Ansatz zum Erfassen von Trace- und Logdaten für ausgehende HTTP-Anfragen implementieren. Ein Beispiel für einen benutzerdefinierten Ansatz finden Sie in der Klasse SyntheticAutoInstrumentation
.
Generisches Node.js-Beispiel
Das Beispiel generic-synthetic-nodejs
zeigt, wie eine URL abgefragt wird. Dieses Beispiel enthält dieselbe Standardfunktion, die in der Google Cloud Console angezeigt wird. Zum Aufrufen des vollständigen Beispiels klicken Sie auf more_vert Mehr und wählen dann Auf GitHub ansehen aus.
TypeScript-Beispiel
Das Beispiel generic-synthetic-typescript
zeigt, wie eine URL abgefragt wird. Zum Aufrufen des vollständigen Beispiels klicken Sie auf more_vert Mehr und wählen dann Auf GitHub ansehen aus.
Puppeteer-Vorlage
Wenn Sie Puppeteer verwenden, sollten Sie mit dem Beispiel generic-puppeteer-nodejs
beginnen.
Erforderliche Puppeteer-Einrichtung
Um Puppeteer zu verwenden, müssen Sie die folgenden Schritte ausführen:
Fügen Sie
.puppeteerrc.cjs
in das Quellverzeichnis der Cloud Functions-Funktion ein:Fügen Sie der Datei
package.json
Ihrer Cloud Functions-Funktion das folgende Skript hinzu:"scripts": { "gcp-build": "node node_modules/puppeteer/install.mjs" },
Puppeteer-Beispiel
Das Beispiel generic-puppeteer-nodejs
veranschaulicht, wie Puppeteer mit Ihrer Cloud Functions-Funktion verwendet wird. Zum Aufrufen des vollständigen Beispiels klicken Sie auf more_vert Mehr und wählen dann Auf GitHub ansehen aus.
Selenium WebDriver-Vorlage
Wenn Sie Selenium WebDriver verwenden, sollten Sie mit dem Beispiel generic-selenium-nodejs
beginnen. Das Beispiel, das auf GitHub verfügbar ist, enthält die Dateien index.js
und package.json
.
Zum Aufrufen des vollständigen Beispiels klicken Sie auf more_vert Mehr und wählen dann Auf GitHub ansehen aus.
Vorlage für Mokka
Wenn Sie Tests schreiben, die auf der Mocha-Vorlage basieren, überlegen Sie, ob eine Reihe von Tests fortgesetzt oder beendet werden soll, wenn ein Fehler auftritt. Wenn Sie eine Reihe von Tests nach einem Fehler beenden möchten, müssen Sie das Flag bail
festlegen.
Ein End-to-End-Beispiel, das die Bereitstellung einer API, eine Mocha-Beispiel-Testsuite für die API-Endpunkte und die Konfiguration des synthetischen Monitors enthält, finden Sie im Blog mit der Anleitung zum synthetischen Monitoring von Google Cloud.
Das Beispiel mocha-url-ok
zeigt, wie eine Cloud Functions-Funktion eine Mocha-Testsuite aufrufen kann. Es bietet außerdem eine Beispieltestsuite.
Zum Aufrufen des vollständigen Beispiels klicken Sie auf more_vert Mehr und wählen dann Auf GitHub ansehen aus.
Vorlage für fehlerhafte Links
Im Beispiel broken-links-ok
wird gezeigt, wie Sie eine Prüfung auf fehlerhafte Links konfigurieren.
Für diese Vorlage geben Sie nur die Werte des options
-Objekts an. Dieses Objekt gibt den zu testenden URI und die Testparameter an.
Wenn Sie Puppeteer verwenden, müssen Sie die erforderlichen Puppeteer-Einrichtungsschritte ausführen.
Zum Aufrufen des vollständigen Beispiels klicken Sie auf more_vert Mehr und wählen dann Auf GitHub ansehen aus.
Nächste Schritte
- Synthetischen Monitor erstellen
- Prüfung fehlerhafter Links erstellen
- Synthetisches Monitoring verwalten
- Ergebnisse des synthetischen Monitorings untersuchen