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)

Enter the number of seconds the task should wait for a response from the web page before ending the task and returning an error. If this is left blank the default timeout for a task is 120 seconds.

Standardauthentifizierung

The Basic Authentication scheme s used to allow users to access content on some websites. Once provided login credentials will be passed along with the request header to the web server.

  • Username: contains a username for HTTP/S basic or digest access authentication.
  • User Password: contains a password for HTTP/S basic or digest access authentication.

Do not confuse Basic Authentication with other authentication schemes such as Bearer Authentication that involves bearer tokens and OAuth 2.0 that uses access tokens.

Read the articles on Basic Authentication Username and Password and Monitoring OAuth 2.0-based APIs for more information.

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

The DNS Options feature allows users to choose how domain name server (DNS) requests are conducted during a monitoring task.

To specify the mode of resolving hostnames, in the DNS Resolve Mode section, select one of the available modes. For more details on the feature configuration, see DNS Mode Options.

The Custom DNS Hosts section contains the mappings of IP addresses to hostnames.

To specify the mapping, enter the IP address and the host name in the corresponding fields.

Examples:

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

See also: DNS Mode Options.