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.
|
Como outro exemplo, |
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. |
Como exemplo não correspondente, |
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.
|
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.