Configuración de una solicitud WebSocket
Url
Para abrir una conexión WebSocket, debe introducir la dirección URL de WebSocket del punto de conexión o dirección IP de la dirección URL de WebSocket que desea comprobar (se admiten los protocolos ws:// y cifrados wss://). Por ejemplo, wss://echo.websocket.org/
Para activar un modo de entrada más amigable visualmente, haga clic en el interruptor Detallado en la parte superior de la sección.
Puede convertir la dirección URL en un valor dinámico o un parámetro de contexto aquí. Por ejemplo, para cambiar dinámicamente la URL de destino.
Enviar datos
Si necesita transferir datos al punto de conexión de destino, en el campo Enviar datos, especifique un mensaje en una cadena o formato binario. Dotcom-Monitor enviará el mensaje al punto de conexión de destino mediante el protocolo WebSocket y esperará la respuesta.
Dotcom-Monitor admite expresiones razor en los mensajes WebSocket. Para enviar una cadena que contenga una expresión razor, introdúzcala en el campo Enviar datos y use el programa Preparar script para establecer el tipo de mensaje en expresión Razor. De lo contrario, el mensaje se analizará y se enviará como texto. Utilice el siguiente fragmento de código en el campo Preparar script para notificar al sistema que el mensaje debe analizarse con razor engine:
ProcessPostDataByRazor(currentTask);
Además del motor Razor, Dotcom-Monitor permite cambiar dinámicamente los datos del cuerpo de la solicitud mediante máscaras de datos. Para obtener información sobre cómo usar la sintaxis de Razor y las máscaras de datos en los datos enviados y configurar la carga útil que cambia dinámicamente, consulte Cómo cambiar dinámicamente la carga útil en solicitud HTTP.
Validación de respuesta (validación de contenido)
Para validar una cadena de mensaje recibida de WebSocket, puede afirmar palabras clave en el escenario de ejecución de llamadas. El sistema esperará la respuesta del punto final de destino y comprobará la presencia de la palabra clave especificada en la cadena en el mensaje recibido. Si la palabra clave no se detectó en las respuestas del socket, se generará un error.
En los campos Palabra clave , puede especificar una palabra o frase que desee buscar en el mensaje de respuesta. Utilice el texto sin formato para especificar una palabra clave:
Preparar guión y secuencia de comandos de publicación
Los campos pueden contener código de C#, que se puede usar para solicitudes específicas y datos de dirección URL o para validar o publicar encabezados personalizados. Consulte el artículo Uso del script y el script de publicación o póngase en contacto con el soporte técnico para obtener más detalles sobre el uso.
El escenario dinámico de la ejecución de la llamada WebSocket se puede especificar en el campo Preparar script. El escenario dinámico puede incluir una serie de operaciones con datos binarios o de cadena.
Operaciones con formato binario (msg como Base64 codificado):
- ValidateBinary(string msg): comprueba si una respuesta WebSocket es igual a los datos binarios especificados.
- ValidateBinaryContains(string msg): comprueba si una respuesta WebSocket contiene datos binarios especificados.
- SendBinary(string msg): envía un mensaje binario a un WebSocket.
Operaciones con formato de texto:
- SendText(string msg): envía una cadena de texto a un WebSocket.
- ValidateText(string msg): comprueba si una respuesta de un WebSocket es igual a una cadena especificada.
- ValidateTextContains(string msg): comprueba si una respuesta de WebSocket contiene una cadena especificada.
En los casos en que se especificó cualquier aserción en el campo Preparar script, el sistema esperará la aserción especificada en la respuesta y continuará con la ejecución del script una vez que la validación se realice correctamente. Si no se recibe un mensaje con la aserción especificada y se alcanza el tiempo de espera de finalización de la tarea, generaremos el error de validación.
Dotcom-Monitor le permite incluir tantas operaciones como sea necesario en el script Preparar. Sin embargo, si se alcanza el tiempo de espera de finalización de la tarea, se finalizará la ejecución del script. El tiempo de finalización de la tarea se cuenta desde el inicio de la ejecución del script.
-
Ejemplo: Validación de respuesta OK
-
Ejemplo: Error en la validación de la respuesta
Comprobación de certificado/SSL
Secure Socket Layer SSL Certificate Check incluye las siguientes opciones de validación:
- Autoridad: comprueba si una cadena de certificados contiene un certificado raíz de confianza o no de confianza.
- Nombre común (CN): valida que una dirección a la que navegue coincida con el certificado de dirección al que se firmó la dirección.
- Fecha: comprueba la fecha de caducidad del certificado.
- Revocación: valida que la cadena de confianza del certificado no contiene un certificado revocado.
- Uso: comprueba una cadena de certificados para el uso incorrecto de un certificado intermedio.
- Recordatorio de expiración en días: un recordatorio que notifica (como un error) sobre la expiración del certificado.
- Certificado de cliente: nombre del certificado de cliente.
Umbral de validación de tiempo (en segundos)
Escriba el número de segundos que el servicio debe esperar una respuesta de la página web antes de finalizar la ejecución de la solicitud y devolver un error. Si se deja en blanco, el tiempo de espera predeterminado para una solicitud es de 60 segundos.
Autenticación básica
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.
Encabezados
La opción permite agregar encabezados personalizados adicionales si es necesario.
- Nombre del encabezado: especifique el nombre del parámetro tal como aparecerá en la solicitud.
- Valor: escriba el valor asociado al nombre del parámetro.
Opciones de DNS
La característica Opciones de DNS permite a los usuarios elegir cómo se llevan a cabo las solicitudes de servidor de nombres de dominio (DNS) durante una tarea de supervisión.
Para especificar el modo de resolución de nombres de host, en la sección Modo de resolución de DNS, seleccione uno de los modos disponibles. Para obtener más información sobre la configuración de características, consulte Opciones de modo DNS.
La sección Hosts DNS personalizados permite configurar la asignación de direcciones IP a nombres de host. Se admite la resolución DNS IPv6 e IPv4.
Para especificar la asignación, introduzca la dirección IP y el nombre de host en los campos correspondientes.
Véase también: Opciones de modo DNS.
Filtro de errores
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.