Vérifier le contenu de la réponse (facultatif)
Vous pouvez créer une expression rationnelle (REGEX) pour vérifier le contenu de la chaîne de réponse qu'un moniteur du service de surveillance de la disponibilité peut retourner lors de la création d'un moniteur.
Lors de l'étape Créer un moniteur, il existe une case à cocher facultative : Vérifier le contenu de la réponse pour vérifier la réponse qu'un moniteur peut retourner en créant un REGEX.
Informations sur REGEX
- Le REGEX doit correspondre au contenu de la réponse (corps de la réponse et en-têtes de réponse) à partir de l'URL fournie dans le moniteur.
- Si la recherche REGEX contient des guillemets simples (
'
) ou doubles ("
), vous devez ajouter le préfixe suivant au guillemet :.*,
Le préfixe ci-dessus correspond à tous les caractères d'échappement préfixés aux guillemets qui traitent certains cas où le JSON de la réponse n'est pas formé correctement et il peut ajouter une barre oblique inverse aux guillemets dans le corps de la réponse.
- En raison du formatage des données, il peut y avoir des espaces dans la réponse que vous essayez de mettre en correspondance. Si tel est le cas, essayez d'ajouter
\s*
dans le REGEX. Cela traitera zéro espace ou plus dans la réponse. - Vous pouvez utiliser
https://regex101.com/
pour valider le REGEX dans la réponse (chaîne de test) avant de l'utiliser dans le moniteur. Assurez-vous de sélectionner ECMAScript (JavaScript) dans la saveur.
Échantillons REGEX
- Échantillon REGEX 1
/"noOfSuccess":\s*(?!0\b)\d+/ /.*noOfSuccess.*:\s*(?!0\b)\d+/
Réponse :{ "mepType": "MEP00", "noOfAborted": 0, "noOfErrors": 0, "noOfMsgsProcessed": 46, "noOfMsgsReceived": 46, "noOfSuccess": 1, "successRate": 100, "version": "01.00.0000" }
- Échantillon REGEX 2 :
/"server":\s*("envoy")/
Réponse :{ "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 pour le type de moniteur REST
Lors de l'utilisation du valideur REGEX pour le type de moniteur REST, l'utilisateur peut valider sa chaîne/REGEX avec la réponse en ligne. Le résultat sera retourné en tant que correspondance ou non.
Voici la liste des opérateurs communs pris en charge par le service de surveillance de la disponibilité APM :
Opérateur | Description | Exemple |
---|---|---|
Mettre en correspondance un caractère quelconque - Opérateur (. ) |
Le caractère point représente cet opérateur. | a.b correspond à une chaîne de trois caractères commençant par a et se terminant par b .
|
Mettre en correspondance zéro ou plus (* ) |
Cet opérateur répétition de la plus petite expression rationnelle précédant l'expression rationnelle autant de fois que nécessaire (y compris zéro) pour correspondre au modèle. | a* correspond à une chaîne composée de zéro, un ou plusieurs a . Dans un autre exemple, fo* , l'élément répétitif est o et non fo . Par conséquent, fo* correspond à f , fo , foo , etc.
|
Mettre en correspondance un ou plusieurs opérateurs (+ ) |
Cet opérateur est similaire à l'opérateur Match-zero-or-more, sauf qu'il répète au moins une fois l'expression rationnelle précédente. | ca+r correspond à car et caaaar , mais pas à cr .
|
Mettre en correspondance zéro ou un opérateur (? ) |
Cet opérateur est similaire à l'opérateur match-zero-or-more, sauf qu'il répète l'expression rationnelle précédente une ou plusieurs fois. | ca?r correspond à la fois à car et à cr , mais rien d'autre.
|
Inverser (^ ) |
Exclut une expression. | ^a correspond à tout caractère à l'exception de a |
Opérateurs de regroupement ((...) ) |
REGEX traite les expressions entre parenthèses comme en mathématiques et en programmation. Les expressions sont traitées avant l'expression située à l'extérieur des parenthèses. | f(a|b)a correspond à faa et fba , car que l'opération a|b est traitée avant le reste.
|
Opérateur de remplacement (| ) |
Les alternatives correspondent à l'un des choix d'expressions rationnelles : si vous placez un ou plusieurs caractères représentant l'opérateur d'alternative entre deux expressions rationnelles a et b , le résultat correspond à l'union des chaînes correspondant à a et b .
|
Autre exemple, |
Opérateurs de liste ([ ... ] et [^ ... ] ) |
Une liste de correspondance correspond à un des éléments de la liste. Un élément est un caractère, une expression de classe de caractères ou une expression d'intervalle. Les listes de non-correspondance sont similaires aux listes de correspondance, sauf qu'elles correspondent à un seul caractère non représenté par l'un des éléments de la liste. |
Exemple : |
Opérateur d'intervalle (- ) |
Représente les caractères compris entre les deux éléments de la séquence de regroupement. | [a-f] représente tous les caractères de a à f inclus.
|
Chiffre (\d ) |
Correspond à tous les chiffres (0-9). | Similaire à [0-9] .
|
Sans chiffre (\D ) |
Correspond à tout caractère qui n'est pas un chiffre (0-9). | Similaire à [^0-9] .
|
Évasion (\ ) |
Indique que le caractère suivant dans l'expression est le caractère lui-même et non un opérateur. | \. signifie un point, et non l'opérateur de correspondance avec un caractère quelconque.
|
my
et se trouvant sous le chemin /mybank
, vous pouvez utiliser l'expression rationnelle :\/mybank/my.*
Le point (.) et l'étoile (*) représentent ensemble une séquence de zéro ou plusieurs caractères consécutifs après le préfixe my
.
Dans cet exemple, les URL suivantes : /mybank/myCredits
et /mybank/myDebits
correspondent au REGEX ci-dessus : \/mybank/my.*
, mais pas l'URL : /mybank/about
.