Der JSON-Pfadassistent ist ein Hilfswerkzeug für die Erstellung von aktiven REST-API-Monitoren und REST-API-Leistungsmonitoren sowie REST-API-Komponenten für die Anwendungsüberwachung. Mit diesem Tool kann das JSON-Element ausgewählt werden, das überwacht werden soll. Anschließend erstellt das Tool eine JSONPath-Abfrage für das ausgewählte JSON-Element.
Für die JSONPath-Abfrage können zwei Schreibweisen verwendet werden: mit Klammern oder mit Punkten. Beispiel:
[‘name’]
$.name
In diesem Thema werden der Arbeitsablauf und die unterstützte Syntax für den JSON-Pfadassistenten beschrieben.
Wenn ein neuer REST-API-Leistungsmonitor aus der Monitorbibliothek hinzugefügt wird, wird das Fenster REST-API-Leistungsmonitor hinzufügen geöffnet. In diesem Fenster sind zwei Abschnitte enthalten, die im JSON-Pfadassistenten verwendet werden: REST-API und JSONPATH.
Geben Sie einen Namen, eine Beschreibung und einen Wert für die Zeitüberschreitung des REST-API-Leistungsmonitors an. Führen Sie dann im JSON-Pfadassistenten folgende Schritte aus:
Wenn ein neuer aktiver REST-API-Monitor aus der Monitorbibliothek hinzugefügt wird, wird das Fenster Aktiven REST-API-Monitor hinzufügen geöffnet. In diesem Fenster sind zwei Abschnitte enthalten: REST-API und Bedingung für „Nicht erreichbar“. Dort können in der Tabelle JSONPath-Abfrage Bedingungen für „Nicht erreichbar“ für den Monitor hinzugefügt werden. In der Tabelle JSONPath-Abfrage wird der JSON-Pfadassistent verwendet, wenn Sie auf das Lupensymbol klicken.
Bei aktiven REST-API-Monitoren können Sie mehrere JSONPath-Abfragen zur Auswertung des „Nicht erreichbar“-Zustand des Monitors definieren. Im Gegensatz zu Leistungsmonitoren unterstützen aktive Monitore auch den Abgleich der Bedingungen für „Nicht erreichbar“ mit Zahlen-, Booleschen und Zeichenkettenvariablen.
Wenn ein JSON-Element im JSON-Pfadassistenten ausgewählt wird, wird in der Tabelle mit den JSONPath-Abfragen automatisch der Elementtyp erkannt und in der Spalte Art ausgefüllt.
Geben Sie einen Namen, eine Beschreibung und einen Wert für die Zeitüberschreitung des aktiven REST-API-Monitors an. Führen Sie dann im JSON-Pfadassistenten folgende Schritte aus:
Die Komponente der Anwendungsüberwachung (APM) „REST-API (Leistung)“ ähnelt in der Arbeitsweise dem REST-API-Leistungsmonitor. Zusätzlich gibt es hier die Bedingungen für die Warn- und die Nicht-erreichbar-Schwelle für die Zahlenwertantwort. Eine REST-API-APM-Komponente kann mit einem Testgerät verbunden und validiert werden. In der folgenden Abbildung sehen Sie einen numerischen API-Beispielendpunkt mit Schwellenwerten für „Warnung“ und „Nicht erreichbar“:
Die Komponente der Anwendungsüberwachung (APM) „REST-API (aktiv)“ ähnelt in der Arbeitsweise dem aktiven REST-API-Monitor. Zusätzlich gibt es hier ein Testgerät, mit dem die Komponente verbunden und der Monitor validiert werden kann.
Wie bereits erwähnt können für die JSONPath-Abfrage zwei Schreibweisen verwendet werden: mit Klammern oder mit Punkten. Beispiel:
[‘name’]
$.name
Nehmen wir an, es gibt ein JSON-Array „books“; das erste Element im Array hat den Namen „The Cat in the Hat“. Sie können auf diesen Wert zugreifen, indem Sie einen der folgenden JSON-Abfragen eingeben:
[‘books’][0]['name']
$.books[0].name
Zusätzlich zur Unterstützung für die Erstellung von JSONPath-Abfragen für JSON-Elemente im JSONPath-Assistenten können Sie auch erweiterte Abfragen zur Prüfung der JSON-Antwort mit Filtern in den JSONPath-Abfragen verfassen. Mit den Filtern können Vorgänge mittels Vergleichsoperatoren durchgeführt werden. Außerdem kann mit der Eigenschaft „length“ die Länge des JSON-Arrays ausgegeben werden.
Mit diesen Eigenschaften können im Filter für die JSONPath-Abfrage Werte zurückgegeben werden, die diesen Bedingungen entsprechen; Werte, die nicht benötigt werden, können herausgefiltert werden.
Note: Die Token-Auswahl gibt nur dann einen Wert zurück, wenn das erfasste Objekt die Länge „1“ hat. Wenn mehrere Werte von der JSONPath-Abfrage zurückgegeben werden, wird ein Parsing-Fehler ausgegeben.
In der folgenden Tabelle werden die unterstützten Vergleichsoperatoren aufgeführt:
Name des Vergleichsoperators |
Vergleichsoperator |
Beispiel (Schreibweise mit Klammern) |
Beispiel (Schreibweise mit Punkt) |
Hinweise |
Gleich |
|
|
|
Die Abfrage gibt die Anzahl der Bücher mit dem Titel „The Cat in the Hat“, die auf Lager sind, aus. |
Nicht gleich |
|
|
|
|
Kleiner als |
|
|
|
Bei aktiven Monitoren und aktiven APM-Komponenten ist die Bedingung für „Nicht erreichbar“ eine Zeichenkette, die „The Cat in the Hat“ enthält, wenn „The Cat in the Hat“ weniger als 3 Exemplare aufweist. |
Kleiner oder gleich |
|
|
|
|
Größer als |
|
|
|
Bei aktiven Monitoren und aktiven APM-Komponenten ist die Bedingung für „Nicht erreichbar“ eine Zahl, die nicht „1“ (die BookID von „The Cat in the Hat“) enthält, wenn „The Cat in the Hat“ mehr als 1 Exemplar aufweist. |
Größer oder gleich |
|
|
|
|
Länge |
|
|
|
Gibt die Länge des JSON-Arrays aus. |