Antwortinhalt überprüfen (optional)
Sie können einen regulären Ausdruck (REGEX) erstellen, um den Inhalt der Antwortzeichenfolge zu prüfen, den ein Monitor in Availability Monitoring beim Erstellen eines Monitors zurückgeben kann.
Während des Schritts Monitor erstellen gibt es ein optionales Kontrollkästchen: Antwortinhalt prüfen, um die Antwort zu prüfen, die ein Monitor durch Erstellen eines REGEX zurückgeben kann.
Informationen über REGEX
- Der REGEX muss mit dem Inhalt der Antwort (Antwortbody und Antwortheader) aus der im Monitor angegebenen URL übereinstimmen.
- Wenn die Suche REGEX einfache Anführungszeichen (
'
) oder doppelte Anführungszeichen ("
) enthält, müssen Sie dem Anführungszeichen Folgendes voranstellen:.*,
Das obige Präfix stimmt mit allen Escapezeichen überein, die den Anführungszeichen vorangestellt sind. Dabei werden bestimmte Fälle behandelt, in denen JSON aus der Antwort nicht ordnungsgemäß gebildet wird und ein umgekehrter Schrägstrich zu Anführungszeichen im Antwortbody hinzugefügt werden kann.
- Aufgrund der Datenformatierung können Leerzeichen in der Antwort vorhanden sein, die Sie abgleichen möchten. Wenn dies der Fall ist, fügen Sie
\s*
in die REGEX ein. Dadurch werden null oder mehr Leerzeichen in der Antwort verarbeitet. - Mit
https://regex101.com/
können Sie den REGEX für die Antwort (Testzeichenfolge) validieren, bevor Sie ihn im Monitor verwenden. Stellen Sie sicher, dass Sie ECMAScript (JavaScript) im Aroma auswählen.
REGEX-Proben
- REGEX-Beispiel 1
/"noOfSuccess":\s*(?!0\b)\d+/ /.*noOfSuccess.*:\s*(?!0\b)\d+/
Antwort:{ "mepType": "MEP00", "noOfAborted": 0, "noOfErrors": 0, "noOfMsgsProcessed": 46, "noOfMsgsReceived": 46, "noOfSuccess": 1, "successRate": 100, "version": "01.00.0000" }
- REGEX-Beispiel 2:
/"server":\s*("envoy")/
Antwort:{ "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 für REST-Monitortyp
Wenn der REGEX-Validator für den REST-Monitortyp verwendet wird, kann der Benutzer seine Zeichenfolge/REGEX mit der Inlineantwort validieren. Das Ergebnis wird entweder als Übereinstimmung oder nicht als Übereinstimmung zurückgegeben.
Im Folgenden finden Sie eine Liste allgemeiner Operatoren, die von APM-Verfügbarkeitsüberwachung unterstützt werden:
Operator | Beschreibung | Beispiel |
---|---|---|
Operator für beliebiges Zeichen (. ) |
Dieser Operator wird vom Punktzeichen dargestellt. | a.b entspricht jeder dreistelligen Zeichenfolge, die mit a beginnt und mit b endet.
|
Operator für null oder mehr Zeichen (* ) |
Dieser Operator wiederholt den kleinstmöglichen vorherigen regulären Ausdruck so oft wie erforderlich (einschließlich nullmal), damit er dem Muster entspricht. | a* entspricht jeder Zeichenfolge, die aus null oder mehr a s besteht. In einem anderen Beispiel hat fo* ein sich wiederholendes o , kein sich wiederholendes fo . Daher gibt fo* f , fo , foo usw. zurück.
|
Operator für ein oder mehrere Zeichen (+ ) |
Dieser Operator ähnelt dem Match-Null-oder-mehr-Operator, wiederholt den vorherigen regulären Ausdruck aber mindestens einmal. | ca+r entspricht der Übereinstimmung mit car und caaaar , jedoch nicht mit cr .
|
Operator für Übereinstimmung mit Null oder einem (? ) |
Dieser Operator ähnelt dem Match-Null-oder-mehr-Operator, wiederholt den vorherigen regulären Ausdruck aber einmal oder überhaupt nicht. | ca?r entspricht sowohl car als auch cr , aber nichts anderes.
|
Negieren (^ ) |
Negieren Sie einen Ausdruck. | ^a entspricht jedem Zeichen mit Ausnahme von a . |
Gruppierungsoperatoren ((...) ) |
In REGEX werden Ausdrücke in Klammern als Mathematik behandelt, in Programmiersprachen hingegen als Einheit. Die Ausdrücke werden vor dem Ausdruck außerhalb der Klammer verarbeitet. | f(a|b)a entspricht faa und fba . Das bedeutet, dass der Vorgang a|b vor dem Rest verarbeitet wird.
|
Alternativer Operator (| ) |
Alternativen stimmen mit einem von mehreren regulären Ausdrücken überein: Wenn Sie Zeichen für den Alternativoperator zwischen zwei reguläre Ausdrücke a und b setzen, entspricht das Ergebnis der Vereinigungsmenge der Zeichenfolgen, die a und b entsprechen.
|
Weiteres Beispiel: |
Listenoperatoren ([ ... ] und [^ ... ] ) |
Eine übereinstimmende Liste entspricht einem einzelnen Zeichen, das durch eines der Listenelemente dargestellt wird. Ein Element ist ein Zeichen, ein Zeichenklassenausdruck oder ein Range-Ausdruck. Nicht übereinstimmende Listen ähneln übereinstimmenden Listen, mit der Ausnahme, dass sie mit einem einzelnen Zeichen übereinstimmen, das durch keines der Listenelemente dargestellt wird. |
Beispiel für nicht übereinstimmende Liste: |
Bereichsoperator (- ) |
Stellt die Zeichen dar, die zwischen zwei Elementen in der aktuellen Sortierfolge liegen. | [a-f] stellt alle Zeichen von a bis f einschließlich dar.
|
Ziffer (\d ) |
Entspricht einer beliebigen Ziffer (0-9). | Entspricht: [0-9] .
|
Keine Ziffer (\D ) |
Entspricht einem beliebigen Zeichen, das keine Ziffer ist (0-9). | Identisch mit [^0-9] .
|
Escape (\ ) |
Das nächste Zeichen im Ausdruck steht für das Zeichen selbst, aber keinen Operator. | \. ist ein Punkt und nicht der Operator für beliebige Zeichen.
|
my
beginnen und sich unter dem Pfad /mybank
befinden, können Sie den regulären Ausdruck verwenden:\/mybank/my.*
Der Punkt (.) und das Sternchen (*) stehen zusammen für eine Sequenz von null oder mehr aufeinander folgenden Zeichen nach dem Präfix my
.
In diesem Beispiel entsprechen die folgenden URLs: /mybank/myCredits
und /mybank/myDebits
dem oben genannten REGEX: \/mybank/my.*
, die URL: /mybank/about
stimmt jedoch nicht überein.