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.

all

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.

value und count

value definiert den Textwert, der gesucht werden soll. Die Häufigkeit wird mit dem count-Attribut gesetzt.

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 matchAll auf true gesetzt ist, müssen alle Werte vorkommen.

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: eq und like

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 Server 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.

create

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>.

Bearbeiten

Jede Expectation lässt sich nachträglich noch bearbeiten. Sie können auch weitere Bedingungen hinzufügen oder modifizieren.

Löschen

Jede Expectation, die nicht von einem Job genutzt wird, lässt sich über diese Schaltfläche wieder entfernen. Wird die Expectation aktiv genutzt, erscheint eine entsprechende Meldung und die Expectation wird nicht entfernt.