Konfigurieren einer WebSocket-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. Zum Beispiel, um die Ziel-URL dynamisch zu ändern.

Senden von Daten

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. Wenn das Schlüsselwort in den Antworten des Sockets nicht erkannt wurde, wird ein Fehler generiert.

In den Schlüsselwortfeldern können Sie ein Wort oder einen Ausdruck angeben, nach dem Sie in der Antwortnachricht suchen möchten. Verwenden Sie den Nur-Text, um ein Schlüsselwort anzugeben:

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

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 den angegebenen Binärdaten entspricht.
  • 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 einer angegebenen Zeichenfolge entspricht.
  • 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 eine Nachricht mit der angegebenen Assertion nicht empfangen wird und das Timeout für die Aufgabenerledigung erreicht ist, generieren wir den Validierungsfehler.

Mit Dotcom-Monitor können Sie so viele Operationen wie nötig in das Prepare-Skript aufnehmen. Wenn jedoch das Timeout für den Abschluss der Aufgabe erreicht ist, wird die Skriptausführung beendet. Die Erledigungszeit der Aufgabe wird ab dem Beginn der Skriptausführung gezählt.

  • Beispiel: Antwortvalidierung OK

  • Beispiel: Antwortvalidierung fehlgeschlagen

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 Check umfasst die folgenden Validierungsoptionen:

  • 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.

Schwellenwert für die Zeitüberprüfung (in Sekunden)

Geben Sie die Anzahl der Sekunden ein, die der Dienst auf eine Antwort von der Webseite warten soll, bevor die Anforderungsausführung beendet und ein Fehler zurückgegeben wird. Wenn dieses Feld leer gelassen wird, beträgt das Standardtimeout für eine Anforderung 60 Sekunden.

Standardauthentifizierung

The HTTP authentication protocol is used to allow users to access content on some websites.

The following authentication schemes are available:

  • Basic Authentication: This method encodes the username and password in base64 and sends them in the request header. It’s simple but not secure unless used with HTTPS.
  • Digest Authentication: This scheme hashes credentials using a nonce (a random value) before sending them over the network, providing better security than Basic Authentication by preventing replay attacks.
  • NTLM Authentication: A challenge-response mechanism developed by Microsoft, NTLM is used for securing credentials in Windows environments. It provides strong security by using multiple hashing and challenge-response protocols.

Once provided, login credentials will be passed along with the request header to the web server.

  • Username: contains a username for HTTP/S  authentication.
  • User Password: contains a password for HTTP/S authentication.

Do not confuse HTTP 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

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.

Im Abschnitt Benutzerdefinierte DNS-Hosts können Sie die Zuordnung von IP-Adressen zu Hostnamen einrichten. IPv6- und IPv4-DNS-Auflösung wird unterstützt.

Um das Mapping festzulegen, 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.

Fehlerfilter

You can create filters that will ignore specific errors that you know may occur and are not relevant to the goal of a specific device. The system will not generate alerts on responses with error codes that match the filters. For example, DNS errors could be filtered out based on who is responsible for DNS server operations. In addition, you can configure the system to ignore a range of error codes using a dash, or multiple error codes using semicolons as a separator.

You can find a comprehensive list of Error Codes in the HTTP Status Codes List | HTTP Error Codes Explained article of this wiki.

For example, if you do not care about 404 errors on one particular device, you can filter them out so that you do not receive alerts when they the errors are detected. The error details will be available for review in the device reports.

If you want to ignore an error with a specific code and type while monitoring, you can configure the Ignore Error Codes option in the device settings. If the system detects a response with the specified error type and code, the response will be considered as successful and its status will be changed to OK. Note that ignored errors will not be reflected on the reports and can’t be tracked down.