Verificar Conteúdo da Resposta (Opcional)

Você pode criar uma expressão regular (REGEX) para verificar o conteúdo da string de resposta que um monitor no Monitoramento de Disponibilidade pode retornar ao criar um monitor.

Durante a etapa Criar um Monitor, há uma caixa de seleção opcional: Verificar Conteúdo de Resposta para verificar a resposta que um monitor pode retornar criando um REGEX.

Informação sobre REGEX

  • O REGEX deve corresponder ao conteúdo da resposta (corpo de resposta e cabeçalhos de resposta) do URL fornecido no monitor.
  • Se a pesquisa REGEX contiver aspas simples (') ou aspas duplas ("), você deverá prefixar a aspa com o seguinte:
    .*,

    O prefixo acima corresponde a qualquer caractere de escape prefixado às aspas, que trata determinados casos em que o JSON da resposta não é formado corretamente e pode adicionar uma barra invertida às aspas no corpo da resposta.

  • Devido à formatação de dados, pode haver espaços na resposta que você está tentando corresponder. Se esse for o caso, tente adicionar \s* no REGEX. Isso tratará de zero ou mais espaços na resposta.
  • Você pode usar https://regex101.com/ para validar o REGEX na resposta (string de teste) antes de usá-lo no monitor. Certifique-se de selecionar ECMAScript (JavaScript) em sabor.

Amostras REGEX

  • REGEX - Amostra 1
    /"noOfSuccess":\s*(?!0\b)\d+/
    /.*noOfSuccess.*:\s*(?!0\b)\d+/
    Resposta:
    {
    "mepType": "MEP00",
    "noOfAborted": 0,
    "noOfErrors": 0,
    "noOfMsgsProcessed": 46,
    "noOfMsgsReceived": 46,
    "noOfSuccess": 1,
    "successRate": 100,
    "version": "01.00.0000"
    }
  • Exemplo REGEX 2:
    /"server":\s*("envoy")/
    Resposta:
    {
       "cache-control":"no-store, no-cache, must-revalidate, proxy-revalidate",
       "content-type":"text/html; charset=utf-8",
       "date":"Fri, 16 Jun 2023 07:08:49 GMT",
       "expires":"Sat, 01 Jan 2000 00:00:00 GMT",
       "pragma": "no-cache",
       "server": "envoy",
       "vary":"Accept-Encoding",
       "via":"1.1 net-idcs-config", 
       "x-content-type-options":"nosniff", 
       "x-download-options":"noopen"}

REGEX para Tipo de Monitor REST

Ao usar o validador REGEX para o tipo de monitor REST, o usuário pode validar sua string/REGEX com a resposta em linha. Ele retornará o resultado como correspondente ou não correspondente.

Veja a seguir uma lista de operadores comuns suportados pelo serviço APM Availability Monitoring:

Operador Descrição Exemplo
Operador Match-any-character (.) O caractere representa esse operador. a.b corresponde a qualquer string de três caracteres que comece com a e termine com b.
Operador Match-zero-or-more (*) Esse operador repetirá a menor expressão regular anterior possível quantas vezes forem necessárias (incluindo zero) para corresponder ao padrão. a* corresponde a qualquer string formada por zero ou mais a. Em outro exemplo, fo* tem um o repetido, não um fo repetido. Portanto, fo* corresponde a f, fo, foo, etc.
Operador Corresponder a um ou mais (+) Esse operador é semelhante ao operador de correspondência com zero ou mais, exceto que pelo menos uma vez ele repete a expressão regular anterior. ca+r corresponde a car e caaaar, mas não a cr.
Operador Corresponder a zero ou um (?) Esse operador é semelhante ao operador de correspondência com zero ou mais, mas repete a expressão regular anterior uma vez ou nenhuma. ca?r corresponde a car e cr, mas nada mais.
Negar (^) Negar uma expressão. ^a corresponde a qualquer caractere, exceto a
Operadores de Agrupamento ((...)) REGEX trata expressões entre parênteses da mesma forma que a matemática e as linguagens de programação tratam uma expressão entre parênteses como unidade. As expressões são processadas antes da expressão fora do parêntese. f(a|b)a corresponde a faa e fba, o que significa que a operação a|b é processada antes do restante.
Operador de Alternância (|) As alternativas correspondem a uma das opções de expressões regulares: se você colocar um ou mais caracteres representando o operador de alternância entre duas expressões regulares quaisquer a e b, o resultado corresponderá à união das strings que a e b correspondem.

foo|bar|quux corresponderia a qualquer um destes: foo, bar ou quux.

Como outro exemplo, ( e ) são os operadores de abertura e fechamento de grupo; assim, fo(o|b)ar corresponderia a fooar ou fobar. Por outro lado, foo|bar corresponderia a foo ou bar.

Operadores de Lista ([ ... ] e [^ ... ])

Uma lista correspondente corresponde a um único caractere representado por um dos itens da lista. Um item é um caractere, uma expressão de classe de caractere ou uma expressão de intervalo.

As listas não correspondentes são semelhantes às listas correspondentes, exceto pelo fato de corresponderem a um único caractere não representado por um dos itens da lista.

[ab] corresponde a a ou b. [ad]* corresponde à string vazia e a qualquer string composta apenas de a e d em qualquer ordem.

Como exemplo não correspondente, [^ab] corresponde a qualquer caractere, exceto a ou b.

Operador de Faixa (-) Representa os caracteres que estão entre dois elementos na sequência de colagem atual. [a-f] representa todos os caracteres de a a f inclusive.
Dígito (\d) Combina qualquer caractere de dígito (0 a 9). O mesmo que [0-9].
Sem dígito (\D) Combina qualquer caractere que não seja um caractere de dígito (0 a 9). O mesmo que [^0-9].
Escape (\) Torna o próximo caractere na expressão o próprio caractere, mas não um operador. \. significa ponto, não o operador Match-any-character.
Por exemplo, se você quiser permitir que somente usuários autenticados acessem qualquer página do aplicativo que comece com my e esteja no caminho /mybank, poderá usar a expressão regular:
\/mybank/my.*

O ponto (.) e o estrela (*) juntos representam qualquer sequência de zero ou mais caracteres consecutivos após o prefixo my.

Neste exemplo, os seguintes URLs: /mybank/myCredits e /mybank/myDebits correspondem ao REGEX acima: \/mybank/my.*, mas o URL: /mybank/about não corresponde a ele.