Expectations
Mit Expectations können Personen mit Administrationsrechten konkrete Erwartungen an die Antwort einer Job-Ausführung definieren. Trifft die Erwartung nicht zu, dann wird der Dienst als fehlerhaft evaluiert und Benachrichtigungen versandt.
Sie können folgende Expectations definieren:
- Regular Expression Expectation
-
Prüft die Antwort mittels regulären Ausdrücken.
- String Matches Expectation
-
Prüft das Vorhandensein von Text.
- String Count Expectation
-
Zählt die Anzahl von Zeichenfolgen einer Server-Antwort.
- HTTP Header Available Expectation
-
Prüft die Serverantwort auf bestimmte HTTP Header.
- HTTP Header Value Expection
-
Erwartet einen bestimmten Wert eines HTTP Header bzw. führt Vergleichsoperationen aus.
Expectations werden unabhängig von Dienst und Job gespeichert. Wenn Sie einen neuen Job hinzufügen, können Sie eine oder mehrere Erwartungen auswählen, die mit diesem Job verknüpft werden soll.
Die Verwaltungsseite erreichen Sie über das service.monitor Dashboard. Zuerst öffnet sich eine Übersicht mit allen registrierten Expectations und bietet verschiedene Aktionen an: Erzeugen, Ansehen, Editieren und Löschen.
Erstellen
Beim Anlegen einer Expectation können Sie einen Namen frei definieren. Es empfiehlt sich, den Namen möglichst sprechend zu vergeben, damit die Zuordnung der Expectation in der Job-Definition leicht fällt.
Folgende Expectations können Sie über ein JSON String definieren:
Typ | Zweck | Definition | Erklärung |
---|---|---|---|
StringCountExpectation |
Prüfung der Server-Antwort auf das Vorhandensein einer bestimmten Anzahl von Strings. |
|
|
RegularExpressionExpectation |
Prüfung der Server-Antwort durch reguläre Ausdrücke. |
Einzelwerte im JSON Array |
Jeder Wert wird als regulärer Ausdruck betrachtet und geprüft. |
StringContainsExpectation |
Prüfung der Server-Antwort auf Vorhandensein von Strings. |
Einzelwerte im JSON Array |
Jeder Wert wird auf Vorhandensein in der Server-Antwort geprüft. |
HttpHeaderAvailableExpectation |
Prüfung der Server-Antwort auf Vorhandensein eines HTTP Headers. |
Einzelwerte im JSON Array |
Die Liste der Antwort-Header wird mit der Prüfliste abgeglichen.
Falls |
HttpHeaderAndValueExpectation |
Prüfung der Werte von HTTP Headern. |
Drei Werte im JSON-Array: HTTP-Header, Operand, Wert |
Die definierte Kombination von Header, Operand und Wert wird gegen die Server-Antwort geprüft. Operanden für Textvergleich: Operanden für Zahlvergleich: |
FmeEngineCountExpectation |
Prüft die Anzahl von registrierten FME Engines. |
Anzahl der Engines |
|
FmeEngineAvailableExpectation |
Prüft die Anzahl von für eine Jobausführung verfügbaren FME Engines. |
Anzahl der Engines |
|
FmeJobTimeShiftExpectation |
Prüft auf verspätete Jobausführung. |
Zeitdauer der maximalen Verspätung und FME Attribut-Vergleichswert-Name |
|
FmeScheduleJobExecutionExpectation |
Prüft die ordnungsgemäße Ausführung von Jobs auf Basis von FME Flow Schedules. |
Duration zur Erzeugung eines zeitlichen Erwartungsraums. |
Definieren Sie im Inhaltsfeld der Expectation über die JSON Notation ein Typ, über den die Evaluierung der Server-Antwort gesteuert wird.
Im content
-Abschnitt können Sie durch ein JSON Array mehrere Einzelbedingungen definieren.
Für weitere Informationen beachten Sie die obige Tabelle sowie die Beispiel-Seite, die in der Monitoring-App verlinkt ist.
Mit dem Schalter matchAll
legen Sie fest, ob alle Bedingungen zutreffen müssen.
Andernfalls ist die Erfüllung einer Bedingung hinreichend.
Testen
In dem unteren Eingabefeld simulieren Sie Serverantworten und testen gegen die aktuelle Definition der Expectation.
Im obigen Beispiel ist die Erwartung nicht erfüllt, da matchAll
auf true
gesetzt ist und die Bedingung text2 kommt einmal vor mit der Beispiel-Antwort nicht zutrifft.
Sollen Expectations für HTTP Header getestet werden, erfolgt die Eingabe zeilenweise nach dem Format <HTTP-Header>: <HTTP-HEADER-VALUE>
.