Como criar dispositivos e destinos

WebSocket é um protocolo de comunicação que funciona sobre TCP e é projetado para trocar mensagens entre um navegador e um servidor web em tempo real. O navegador (cliente) e o servidor usam um protocolo semelhante ao HTTP para estabelecer uma conexão WebSocket.

Para obter mais informações sobre o protocolo WebSocket e o monitoramento de aplicativos baseado no WebSocket, visite o blog Dotcom-Monitor.

Um dispositivo WebSocket criado na plataforma Dotcom-Monitor verifica uma única URL do WebSocket para disponibilidade, desempenho, conteúdo adequado e erros. O dispositivo de monitoramento também pode ser configurado para validar certificados de segurança e conteúdo de resposta.

Configurando uma solicitação

URL

Para abrir uma conexão WebSocket, você é obrigado a inserir a URL do WebSocket do endpoint ou endereço IP da URL do WebSocket que você deseja verificar (os protocolos de wss:// ws:// e criptografados são suportados). Por exemplo, wss://echo.websocket.org/

Para ativar um modo de entrada mais visualmente amigável, clique no interruptor Detalhado na parte superior da seção.

Você pode converter a URL em um valor dinâmico ou parâmetro de contexto aqui. Por exemplo, você pode alterar dinamicamente a URL de destino durante o monitoramento.

Enviar dados

Uma vez que a conexão foi aberta, o Dotcom-Monitor ouve os eventos na tomada. Se você precisar transferir dados para o ponto final de destino, no campo Enviar dados, especifique uma mensagem em um formato de sequência ou binário. O Dotcom-Monitor enviará a mensagem para o ponto final do destino usando o protocolo WebSocket e aguardará a resposta.

O Dotcom-Monitor suporta expressões de Razor nas mensagens WebSocket. Para enviar uma sequência que contenha uma expressão razor, insira-a no campo Enviar dados e use o Script prepare para definir o tipo de mensagem para a expressão Razor. Caso contrário, a mensagem será analisada e enviada como texto. Use o seguinte trecho no campo Preparar Script para notificar o sistema de que ele deve analisar a mensagem com o mecanismo Razor:

ProcessPostDataByRazor(currentTask);

Além do mecanismo Razor, o Dotcom-Monitor permite alterar dinamicamente os dados do corpo de solicitação usando máscaras de dados. Para saber como usar a sintaxe e máscaras de dados razor em dados enviados e configurar a carga útil de mudança dinâmica, consulte Como alterar dinamicamente a carga útil na solicitação HTTP.

Validação de resposta (validação de conteúdo)

Para validar uma sequência de mensagens recebida do WebSocket, você pode afirmar palavras-chave no cenário de execução de chamadas. O sistema aguardará a resposta do ponto de extremidade de destino e verificará a mensagem recebida para a presença da palavra-chave especificada na cadeia de caracteres até que o tempo limite de conclusão da tarefa de monitoramento seja atingido. Se a palavra-chave não for detectada nas respostas do soquete, um erro será gerado.

Nos campos Palavra-chave , você pode especificar uma palavra ou frase que deseja pesquisar na mensagem de resposta. Use o texto sem formatação para especificar uma palavra-chave:

Note que uma palavra-chave é sensível a maiúsões.

Prepare script e poste script

Os campos podem conter código C#, que pode ser usado para solicitações específicas e dados de URL ou para validar ou publicar cabeçalhos personalizados. Consulte o artigo “Use Prepare Script and Post Script” ou entre em contato com suporte técnico para obter mais detalhes sobre o uso.

O cenário dinâmico da execução da chamada WebSocket pode ser especificado no campo Preparar script. O cenário dinâmico pode incluir uma série de operações com dados binários ou de string.

Operações binárias formatadas (msg como Base64 codificada):

  • ValidateBinary(string msg) – verifica se uma resposta WebSocket é igual aos dados binários especificados.
  • ValidebinaryContains(string msg) – verifica se uma resposta do WebSocket contém dados binários especificados.
  • SendBinary (string msg) – envia uma mensagem binária para um WebSocket.

Operações formatadas por texto:

  • SendText(string msg) – envia uma sequência de texto para um WebSocket.
  • ValidateText(string msg) – verifica se uma resposta de um WebSocket é igual a uma cadeia de caracteres especificada.
  • ValidateTextContains(string msg) – verifica se uma resposta WebSocket contém uma cadeia de caracteres especificada.

Nos casos em que qualquer afirmação foi especificada no campo Preparar script, o sistema aguardará a afirmação especificada na resposta e prosseguirá com a execução do script assim que a validação for bem sucedida. Se uma mensagem com a declaração especificada não for recebida e o tempo limite de conclusão da tarefa for atingido, geraremos o erro de validação.

O Dotcom-Monitor permite que você inclua quantas operações forem necessárias no script Preparar. No entanto, se o tempo limite de conclusão da tarefa for atingido, a execução do script será encerrada.

Observe que os campos enviar dados e validação de conteúdo são ignorados se o campo Preparar script contém etapas correspondentes no cenário dinâmico. Por exemplo, se as seguintes etapas forem incluídas no script, o campo Enviar dados e validação de conteúdo será ignorado:

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

Onde o parâmetro currentTask não depende de um nome de tarefa e tem o tipo de tarefa que é processada atualmente.

Verificação de SSL/Certificado

O monitoramento do certificado SSL da camada de soquete seguro é um aspecto padrão do monitoramento da Web.

As seguintes opções estão disponíveis:

  • Autoridade: verifica se uma cadeia de certificados contém um certificado raiz confiável ou não confiável.
  • Nome Comum (CN): valida que um endereço que você navega corresponde ao certificado de endereço ao qual o endereço foi assinado.
  • Data: verifica a data de validade do certificado.
  • Revogação: valida que a cadeia de confiança do certificado não contém um certificado revogado.
  • Uso: verifica uma cadeia de certificados para o uso inadequado de um certificado intermediário.
  • Lembrete de expiração em dias: um lembrete que notifica (como um erro) sobre a expiração do certificado.
  • Certificado do Cliente: nome do certificado do cliente.

Limite de validação de tempo (em segundos)

Digite o número de segundos que a tarefa deve esperar por uma resposta da página da Web antes de encerrar a tarefa e retornar um erro. Se isso for deixado em branco, o tempo limite padrão para uma tarefa é de 60 segundos.

Autenticação Básica

O esquema básico de autenticação é usado para permitir que os usuários acessem conteúdo em alguns sites. Uma vez fornecidas as credenciais de login serão passadas junto com o cabeçalho de solicitação para o servidor web.

  • Nome de usuário: Contém um nome de usuário para acesso básico ou autenticação de resumo HTTP/S.
  • Senha do usuário: Contém uma senha para acesso básico ou autenticação de resumo HTTP/S.

Não confunda autenticação básica com outros esquemas de autenticação como autenticação portadora que envolve tokens portadores e OAuth 2.0 que usa tokens de acesso.

Leia o nome de usuário básico de autenticação e artigos de senha e APIs baseados em OAuth 2.0 para obter mais informações.

Cabeçalhos

A opção permite adicionar quaisquer cabeçalhos personalizados adicionais, se necessário.

  • Nome do cabeçalho: especifique o nome do parâmetro, pois ele aparecerá na solicitação.
  • Valor: digite o valor associado ao nome do parâmetro.

Opções de DNS

O recurso Opções DNS permite que os usuários escolham como as solicitações de DNS (Domain Name Server, servidor de nome de domínio) são feitas durante uma tarefa de monitoramento.

Para especificar o modo de resolução do nome do host, na seção Modo de Resolução DNS, selecione um dos modos disponíveis. Para obter mais informações sobre a configuração de recursos, consulte opções de modo DNS.

A seção DNS Hosts personalizados contém mapeamentos de endereços IP para nomes de host.

Para especificar o mapeamento, digite o endereço IP e o nome do host nos campos apropriados.

Exemplos:

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

Veja também: Opções de modo DNS.