Cómo crear dispositivos y objetivos

WebSocket es un protocolo de comunicación que funciona sobre TCP y está diseñado para intercambiar mensajes entre un navegador y un servidor web en tiempo real. El explorador (cliente) y el servidor utilizan un protocolo similar a HTTP para establecer una conexión WebSocket.

Para obtener más información sobre el protocolo WebSocket y la supervisión de aplicaciones basadas en WebSocket, visite el blog Dotcom-Monitor.

Un dispositivo WebSocket creado en la plataforma Dotcom-Monitor comprueba una única DIRECCIÓN URL de WebSocket en busca de disponibilidad, rendimiento, contenido adecuado y errores. El dispositivo de supervisión también se puede configurar para validar certificados de seguridad y contenido de respuesta.

Configuración de una solicitud

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, puede cambiar dinámicamente la dirección URL de destino durante la supervisión.

Enviar datos

Una vez abierta la conexión, Dotcom-Monitor escucha los eventos del socket. 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 debe analizar el mensaje con el motor Razor:

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 extremo de destino y comprobará el mensaje recibido para detectar la presencia de la palabra clave especificada en la cadena hasta que se alcance el tiempo de espera de finalización de la tarea de supervisión. 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:

Tenga en cuenta que una palabra clave distingue entre mayúsculas y minúsculas.

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.

Demorar:

  • Delay (duración de la cadena): establece un retraso entre los mensajes de websocket en segundos en el siguiente formato: XXs. El sistema esperará el tiempo especificado antes de ejecutar la siguiente operación en el script. Tenga en cuenta que los retrasos demasiado largos pueden provocar la finalización del script debido al tiempo de espera de finalización de la tarea.

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

  • Ejemplo: retardo de 10 segundos

Tenga en cuenta que los campos Enviar datos y validación de contenido se omiten si el campo Preparar script contiene los pasos correspondientes en el escenario dinámico. Por ejemplo, si se incluyen los pasos siguientes en el script, se omitirá el campo Enviar datos y validación de contenido:

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

Donde el parámetro currentTask no depende de un nombre de tarea y tiene el tipo de la tarea que se procesa actualmente.

Comprobación de certificado/SSL

La supervisión de certificados SSL de capa de socket seguro es un aspecto estándar de la supervisión web.

Están disponibles las siguientes opciones:

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

Introduzca el número de segundos que la tarea debe esperar una respuesta antes de finalizar la tarea y devolver un error. El tiempo de espera máximo es de 60 segundos. Si se deja en blanco, se aplicará el tiempo de espera predeterminado de 60 segundos. El tiempo de finalización de la tarea se cuenta desde el inicio de la ejecución del script.

Autenticación básica

The Basic Authentication scheme is 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.

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.

Ejemplos:

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

Véase también: Opciones de modo DNS.