Wie man Geräte und Ziele aufs Neue

WebSocket ist ein Kommunikationsprotokoll, das über TCP arbeitet und entwickelt wurde, um Nachrichten zwischen einem Browser und einem Webserver in Echtzeit auszutauschen. Browser (Client) und Server verwenden ein Protokoll ähnlich HTTP, um eine WebSocket-Verbindung herzustellen.

Weitere Informationen zum WebSocket-Protokoll und zur WebSocket-basierten Anwendungsüberwachung finden Sie im Dotcom-Monitor-Blog.

Ein WebSocket-Gerät, das in der Dotcom-Monitor-Plattform erstellt wurde, überprüft eine einzelne WebSocket-URL auf Verfügbarkeit, Leistung, richtigen Inhalt und Fehler. Das Überwachungsgerät kann auch konfiguriert werden, um Sicherheitszertifikate und Antwortinhalte zu überprüfen.

Konfigurieren einer Anforderung

Url

Zum Öffnen einer WebSocket-Verbindung müssen Sie die WebSocket-URL des Endpunkts oder der IP-Adresse der WebSocket-URL eingeben, die Sie überprüfen möchten (die ws:// und verschlüsselten wss:// Protokolle werden unterstützt). Beispielsweise wss://echo.websocket.org/

Um einen optisch freundlicheren Eingabemodus zu aktivieren, klicken Sie oben im Abschnitt auf den Schalter “Detailliert”.

Sie können die URL hier in einen dynamischen Wert oder Kontextparameter konvertieren. Sie können z. B. die Ziel-URL während der Überwachung dynamisch ändern.

Senden von Daten

Sobald die Verbindung geöffnet wurde, hört Dotcom-Monitor die Ereignisse im Socket an. Wenn Sie Daten an den Zielendpunkt übertragen müssen, geben Sie im Feld Daten senden eine Nachricht in einem Zeichenfolgen- oder Binärformat an. Dotcom-Monitor sendet die Nachricht mithilfe des WebSocket-Protokolls an den Zielendpunkt und wartet auf die Antwort.

Dotcom-Monitor unterstützt Razor-Ausdrücke in den WebSocket-Nachrichten. Um eine Zeichenfolge zu senden, die einen Razor-Ausdruck enthält, geben Sie sie in das Feld Daten senden ein, und verwenden Sie das Skript vorbereiten, um den Nachrichtentyp auf Razor-Ausdruck festzulegen. Andernfalls wird die Nachricht analysiert und als Text gesendet. Verwenden Sie den folgenden Ausschnitt im Feld Skript vorbereiten, um das System darüber zu informieren, dass die Nachricht mit dem Razor-Modul analysiert werden muss:

ProcessPostDataByRazor(currentTask);

Zusätzlich zur Razor-Engine ermöglicht Dotcom-Monitor die dynamische Änderung von Anforderungstextdaten mithilfe von Datenmasken. Informationen zum Verwenden der Razor-Syntax und der Datenmasken in gesendeten Daten und zum Konfigurieren dynamisch ändernder Nutzlast finden Sie unter Dynamisches Ändern der Nutzlast in HTTP-Anforderung.

Antwortvalidierung (Inhaltsvalidierung)

Um eine vom WebSocket empfangene Nachrichtenzeichenfolge zu überprüfen, können Sie Schlüsselwörter im Aufrufausführungsszenario bestätigen. Das System wartet auf die Antwort vom Zielendpunkt und überprüft die empfangene Nachricht auf das Vorhandensein des angegebenen Schlüsselworts in der Zeichenfolge, bis das Zeittimeout zum Abschluss der Überwachungsaufgabe erreicht ist. Wenn das Schlüsselwort in den Antworten des Sockets nicht erkannt wurde, wird ein Fehler generiert.

In den Feldern Schlüsselwort können Sie ein Wort oder einen Ausdruck angeben, nach dem Sie in der Antwortnachricht suchen möchten.

Beachten Sie, dass bei einem Schlüsselwort die Groß-/Kleinschreibung beachtet wird.

Ein gültiger Schlüsselwortausdruck muss die Anfangs- und End-Brackets wie folgt enthalten:

{["keyword"]}

Vorbereiten von Skript und Postskript

Die Felder können Code enthalten, der für bestimmte Anforderungen und URL-Daten oder für die Validierung oder Veröffentlichung benutzerdefinierter Header verwendet werden kann. Weitere Informationen zur Verwendung finden Sie im Artikel “Vorbereiten von Skripts und Postskripten”, oder wenden Sie sich an den technischen Support.

Das dynamische Szenario der WebSocket-Aufrufausführung kann im Feld Skript vorbereiten angegeben werden. Das dynamische Szenario kann eine Reihe von Vorgängen mit Binär- oder Zeichenfolgendaten umfassen.

Binär formatierte Operationen (msg als Base64 codiert):

  • ValidateBinary(string msg) – überprüft, ob eine WebSocket-Antwort gleich angegebenen Binärdaten ist.
  • ValidateBinaryContains(string msg) – überprüft, ob eine WebSocket-Antwort angegebene Binärdaten enthält.
  • SendBinary(string msg) – sendet eine binäre Nachricht an ein WebSocket.
Textformatierte Vorgänge:
  • SendText(string msg) – sendet eine Textzeichenfolge an ein WebSocket.
  • ValidateText(string msg) – überprüft, ob eine Antwort von einem WebSocket gleich angegebener Zeichenfolge ist.
  • ValidateTextContains(string msg) – überprüft, ob eine WebSocket-Antwort eine angegebene Zeichenfolge enthält.

In Fällen, in denen eine Assertion im Feld Skript vorbereiten angegeben wurde, wartet das System auf die angegebene Assertion in der Antwort und führt die Skriptausführung fort, sobald die Validierung erfolgreich ist. Wenn keine Nachricht mit der angegebenen Assertion empfangen wird und das Zeitout zum Aufgabenabschluss erreicht wird, wird der Validierungsfehler generiert.

Mit Dotcom-Monitor können Sie so viele Vorgänge wie nötig in das Vorbereitensskript einschließen. Wenn das Zeittimeout zum Beenden der Aufgabe jedoch erreicht ist, wird die Skriptausführung beendet.

Beachten Sie, dass die Felder Daten senden und Inhaltsvalidierung ignoriert werden, wenn das Feld Skript vorbereiten entsprechende Schritte im dynamischen Szenario enthält. Wenn z. B. die folgenden Schritte im Skript enthalten sind, wird das Feld Daten senden und Inhaltsvalidierung ignoriert:

(currentTask).SendText("This is a test");
(currentTask).ValidateText("This is a test");

Wobei der currentTask-Parameter nicht von einem Vorgangsnamen abhängt und den Typ der Aktuell verarbeiteten Aufgabe hat.

SSL/Zertifikatsprüfung

Secure Socket Layer SSL Certificate Monitoring ist ein Standardaspekt der Webüberwachung.

Folgende Optionen stehen zur Verfügung:

  • Autorität: Überprüft, ob eine Zertifikatkette ein Stammzertifikat enthält, das vertrauenswürdig oder nicht vertrauenswürdig ist.
  • Allgemeiner Name (Common Name, CN): Überprüft, ob eine Adresse, zu der Sie navigieren, mit dem Adresszertifikat übereinstimmt, für das die Adresse signiert wurde.
  • Datum: überprüft das Ablaufdatum des Zertifikats.
  • Widerruf: Überprüft, ob die Vertrauenskette des Zertifikats kein gesperrtes Zertifikat enthält.
  • Verwendung: Überprüft eine Zertifikatkette für die unsachgemäße Verwendung eines Zwischenzertifikats.
  • Ablauferinnerung in Tagen: eine Erinnerung, die (als Fehler) über den Ablauf des Zertifikats benachrichtigt wird.
  • Clientzertifikat: Name des Clientzertifikats.

Abschlusstimeout (in Sekunden)

Geben Sie die Anzahl der Sekunden ein, die der Task auf eine Antwort von der Webseite warten soll, bevor die Aufgabe beendet und ein Fehler zurückgegeben wird. Wenn dies leer bleibt, beträgt das Standardtimeout für eine Aufgabe 120 Sekunden.

Standardauthentifizierung

Das System “Standardauthentifizierung” wird verwendet, um Benutzern den Zugriff auf Inhalte auf einigen Websites zu ermöglichen. Sobald die Anmeldeinformationen angegeben wurden, werden sie zusammen mit dem Anforderungsheader an den Webserver übergeben.

  • Benutzername: enthält einen Benutzernamen für die HTTP/S-Basis- oder Digest-Zugriffsauthentifizierung.
  • Benutzerkennwort: enthält ein Kennwort für die HTTP/S-Basis- oder Digest-Zugriffsauthentifizierung.

Verwechseln Sie die Standardauthentifizierung nicht mit anderen Authentifizierungsschemata wie der Bearer Authentication, die Inhabertoken umfasst, und OAuth 2.0, das Zugriffstoken verwendet.

Weitere Informationen finden Sie in den Artikeln zu Benutzername und Kennwort für die Standardauthentifizierung und zur Überwachung von OAuth 2.0-basierten APIs.

Header

Die Option ermöglicht ggf. das Hinzufügen zusätzlicher benutzerdefinierter Header.

  • Headername: Geben Sie den Namen des Parameters an, wie er in der Anforderung angezeigt wird.
  • Wert: Geben Sie den Wert ein, der dem Namen des Parameters zugeordnet ist.

DNS-Optionen

Mit der Funktion DNS-Optionen können Benutzer auswählen, wie DNS-Anforderungen (Domain Name Server) während einer Überwachungsaufgabe ausgeführt werden.

Um den Modus zum Auflösen von Hostnamen anzugeben, wählen Sie im Abschnitt DNS-Auflösungsmodus einen der verfügbaren Modi aus. Weitere Informationen zur Feature-Konfiguration finden Sie unter DNS-Modusoptionen.

Der Abschnitt Benutzerdefinierte DNS-Hosts enthält die Zuordnungen von IP-Adressen zu Hostnamen.

Um die Zuordnung anzugeben, geben Sie die IP-Adresse und den Hostnamen in die entsprechenden Felder ein.

Beispiele:

192.168.107.246 example.com user.example.com userauth.example.com tools.example.com
192.168.107.246 example.com
192.168.107.246 user.example.com
192.168.107.246 userauth.example.com

Siehe auch: DNS-Modusoptionen.