Management

Die Management-Ansicht wird über das Globale Menü aufgerufen und erlaubt das Setzen globaler Einstellungen, sowie die Konfiguration zentral nutzbarer Funktionen.

Auswahl des Managements

Allgemeine Einstellungen (Global settings)

Unter den allgemeinen Einstellungen kann die Anzahl der Threads und die verwendete Zeitzone der Anwendung angepasst werden.

Allgemeine Einstellungsmöglichkeiten

Die Einstellungsmöglichkeit Maximum Timer Driven Thread Count gibt global für alle Prozessoren die maximale Anzahl vor, die dann auf die Prozessoren aufgeteilt wird.

Wenn global nur ein Thread zugelassen wird und zwei Prozessoren individuell nur einen Thread haben, dann müssen diese jeweils aufeinander warten.

Wurde ein Thread an einem Prozessor eingestellt und der Prozessor benötigt in der Ausführung sehr lange, z.B. bei einer SQL Query, dann steht dieser Prozessor in der Zeit nicht für ein anderes FlowFile zur Verfügung.

Typischerweise macht es keinen Sinn, die Anzahl der Threads an einem Prozessor weit über 10 zu konfigurieren. Man sollte mit einem Thread starten und die Zahl anpassen, falls sich bei diesem Prozessor ein Bottleneck bildet (d.h., in der Queue davor stauen sich die FlowFiles).

Hat man I/O-lastige Flows, kann es sinnvoll sein, die Einstellung Maximum Timer Driven Thread Count auf einen höheren Wert einzustellen als die zur Verfügung stehenden Kerne des Prozessors.
In so einem Fall warten die Threads lange auf I/O und andere Threads aus dem Pool können ausgeführt werden. Ab einem bestimmten Punkt kostet dann allerdings der Kontextwechsel zu viel und zusätzliche Threads wirken sich negativ aus.

Als Richtwert sollte das 2- bis 4-fache der vorhandenen Prozessorkerne als Threads vorhanden sein, wodurch ein guter Basiswert erreicht wird.

Zusätzlich befindet sich in diesem Abschnitt die Möglichkeit, die Zeitzone anhand des Browsers zu definieren. Für diesen Zweck kann die Checkbox im Menü verwendet werden, wodurch die aktuelle Zeitzone des Browsers automatisch übernommen wird.

Counters

Counters sind Werte, mit denen bestimmte Delta erhöht oder verringert werden können. Dies ist nützlich, wenn bestimmte Werte in Ihrem Arbeitsablauf überwacht werden sollen. Der einfachste Weg, dies zu erreichen, ist die Verwendung des UpdateCounter-Prozessors.

counters

Zertifikate

Im Zertifikatsmanager der Anwendung können die vorhandenen Zertifikate bearbeitet und angepasst werden, um eine sichere Kommunikation zu anderen Anwendungen zu ermöglichen.

Zertifikatsmanager

In diesem Bereich stehen unterschiedliche Möglichkeiten zur Verfügung, einen Keystore oder Zertifikate zu generieren. Durch die Interaktion mit dem Button Add Keystore über der Tabelle können Keystores generiert, hochgeladen, importiert oder exportiert werden.

Keystore hinzufügen

Hierbei können JKS-, PKCS12- und PFX-Formate direkt hochgeladen werden. Alle andere Formate werden vor ihrer Nutzung in JKS-Daten konvertiert.

Zusätzlich zu der Option, Keystores hochzuladen, kann über diese Ansicht zudem ein neues Keystore entweder durch die passenden Keys oder durch ein Zertifikat generiert werden. Das Hochladen dieser Daten erfolgt Analog zum Upload der Keystores, bei der die Auswahl ein weiteres Fenster öffnet, in dem die lokalen Daten ausgewählt und hinzugefügt werden können.

Zusätzlich besteht die Möglichkeit, einen Private Key und das entsprechende Zertifikat über den Zertifikatsmanager in IGUASU neu zu generieren. Für diesen Zweck wird die Option Generate Private Key / Certificate ausgewählt, wodurch eine neue Ansicht geöffnet wird.

Zertifikat generieren

In dieser neuen Ansicht muss zum einen die Domain ohne das Protokoll und ohne ein Port und zum anderen ein Key Passwort festgelegt werden. Wurden beide Angaben bestätigt, wird ein neues Fenster geöffnet, in dem der Keystore Filename, das Passwort und das Zertifikat ersichtlich sind.

Das Passwort wird nicht auf dem Server gespeichert. Daher sollte es an dieser Stelle kopiert und außerhalb von IGUASU gespeichert werden.

generate certificate 2

Im Anschluss gibt es noch eine Übersicht, in der es noch möglich ist den Alias zu ändern oder das vergebene Passwort zu kopieren, bevor der Prozess durch das Speichern beendet wird.

Admin-Einstellungen

Zertifikat generieren

Über den Schlüssel-Button neben dem Zertifikat kann zudem der Public und der Private Key heruntergeladen werden, die zur Kommunikation mit anderen Anwendungen genutzt werden können. Zusätzlich besteht die Möglichkeit, den Alias anzupassen oder das Zertifikat zu löschen.

Bereits vorhandene Keystores im Zertifikatsmanager können angepasst werden, nachdem das entsprechende Passwort eingegeben wurde. Zusätzlich besteht die Möglichkeit, die in der Tabelle aufgeführten Keystores herunterzuladen. Mit diesen aufgeführten Optionen bietet IGUASU verschiedene Funktionen, um die Zertifikate und Keystores in der eigenen Anwendung beliebig anzupassen und für die Kommunikation zu anderen Anwendungen zu verwenden.

Parameter Providers

Eigenschaften von Prozessoren, Prozessgruppen und Services können durch die Verwendung von Parametern zentral konfiguriert und verwaltet werden. So können Konfigurationen ausgelagert werden. Parameter Provider ermöglichen die Speicherung von Parametern aus Quellen außerhalb von IGUASU wie z. B. AWS Secrets. Die abgerufenen Parameter eines Providers können von allen referenzierenden Parameter Contexts abgefragt werden.

parameter provider nicht admin

Auf der linken Seite der Parameter Provider-Oberfläche gibt es eine Auflistung, der vorhandenen Parameter Provider sowie ihres Types. Die rechte Seite wird dazu genutzt, um Konfigurationen zu dem ausgewählten Parameter Provider zu definieren.

parameter provider conf

Parameter Provider sind eng mit Management Services verkuppelt. Der benötigte Service muss nach der Zuweisung aktiviert werden, damit der Parameter Provider aktiv genutzt werden kann. Unter Referencing Parameter Contexts werden alle Parameter-Kontexte aufgelistet, welche Parameter dieses Providers nutzen.

Parameter Contexts

Die Verwaltung von Parametern erfolgt über die Zuweisung zu einem Parameter-Kontext. Ein Parameter-Kontext kann mehrere Parameter enthalten und über Vererbung(Inheritance) Parameter eines oder mehrerer anderer Kontexte erhalten. So können Konfigurationen ausgelagert und ggf. exportiert oder importiert werden.

parameter contexts

Parameter-Kontext anlegen

Über Add a new parameter context wird ein neuer Parameter-Kontext angelegt. Der Name des Kontexts muss eindeutig sein.

Parameter-Kontext anlegen

Nach dem Speichern erscheint der neue Kontext in der Übersicht und kann nun verwendet werden.

Parameter hinzufügen

parameter context parameter

Mit Add a new parameter fügen Sie neue Parameter dem Kontext hinzu.

Parameter hinzufügen

Zuweisen eines Kontextes

In den Process Group Settings kann nun der Kontext der Prozessgruppe zugewiesen werden. Danach stehen die Parameter dieses Kontextes allen Services und Prozessoren in dieser Prozessgruppe zur Verfügung.

Parameter-Kontext zuweisen

Verwendung von Parametern

Wenn ein Parameter-Kontext einer Prozessgruppe zugewiesen wurde, kann der Parameter entweder durch Eingabe von

#\{parametername}

oder durch das Symbol parameter context 7 neben den Property des ausgewählten Prozessors aufgerufen werden.
Dies geht in Auswahlboxen, Checkboxen und Textfeldern.

Parameter werden nach der Auswahl direkt evaluiert und das Ergebnis der Evaluation wird angezeigt.

Parameter

Über das Menü können Sie ebenfalls:

  • aus einem Property einen Parameter erstellen (sofern noch kein Parameter ausgewählt wurde)

  • direkt zur Parameterverwaltung springen (sofern bereits ein Parameter ausgewählt wurde)

  • direkt zur Verwaltung des Parameter-Kontexts springen

Vererbung von Kontexten

Ein Parameter-Kontext kann Parameter von einem oder mehreren Kontexten erben. Dafür werden die gewünschten Kontexte im Drag-Down-Menü ausgewählt. Der Löschvorgang wird bei einem einzelnen Kontext durch das Anklicken des Kreuzes durchgeführt. Sollten alle ausgewählten Kontexte gelöscht werden wollen, so kann auf das Radiergummi-Icon geklickt werden.

Vererbung Auswahl

Bei Parametern mit demselben Namen gilt folgende Reihenfolge:

  • der Parameter aus dem erbenden Kontext überschreibt vererbte Parameter

  • die Reihenfolge der Vererbung: von oben nach unten

Vererbung

Vererbte Parameter können nicht innerhalb des erbenden Kontexts verändert oder gelöscht werden. Es kann ausschließlich an selbst erzeugten Parametern Änderungen unternommen werden.

Export/Import von Parameter Kontexten

Parameter-Kontexte können über den Download-Button einzeln heruntergeladen werden. Mit Import parameter context werden sie wieder importiert. Erbt der zu importierende Kontext von einem anderen Kontext, so muss dieser vorher importiert werden, oder es muss ein Kontext mit dem gleichen Namen bereits vorhanden sein. Anderenfalls wird der Import mit einer Fehlermeldung abgebrochen.

Informationen, die zuvor als sensibel gekennzeichnet wurden, werden nicht exportiert. In diesem Fall wird der Parameter ohne zugehörigen Wert exportiert.

Beispiel als JSON herunterladen: parametercontext.json

Admin-Einstellungen

parameter context admin

Es können ebenfalls Berechtigungen vererbt werden. Hat ein Benutzer auf einen vererbten Kontext keinen Zugriff, so wird der Zugriff auf den erbenden Kontext auch eingeschränkt.

Management Services

Management Services sind gemeinsam genutzte Dienste, die sich letztlich von den Prozessgruppen Services nicht stark unterscheiden. Diese Services können ausschließlich von Parameter Providern und anderen Diensten, wie Reporting Tasks, für die Konfiguration oder Aufgabenausführung genutzt werden. Diese Dienste können nicht in Prozessoren oder anderen Diensten auf Prozessgruppenebene verwendet werden.

management services

Unter Referencing Components werden die Parameter Providers oder andere Dienste aufgelistet, welche diesen Service benutzen.

Reporting Tasks

Reporting Tasks laufen im Hintergrund, um statistische Berichte über die Vorgänge in der IGUASU-Instanz zu erstellen.

reporting tasks

Nach der Fertigstellung der neuen Komponente muss diese expliziert durch den Play Button gestartet werden.

Flow Analysis Rules

Flow Analysis Regeln können Komponenten oder (Teile von) dem Diagrammfluss analysieren. Sie können zu Regelverletzungen führen, die zur Anpassung oder Aufrechterhaltung eines optimalen Flussdesigns beitragen können.

Unter Flow Analysis Rules können Einschränkungen für Benutzer festgelegt werden, um bestimmte Komponenten oder Konfigurationen beim Erstellen eines Flows auszuschließen.

analysis rules

Falls z.B. ein bestimmter Prozessor nicht verwendet werden soll, kann eine Flow Analysis Regel die entsprechenden Benutzer warnen oder aber die Verwendung von vornherein ausschließen, je nach Voreinstellung.

Der Violations-Tab im Management-Bereich bietet eine Übersicht der Komponenten, die aktuell gegen die konfigurierte Regel verstoßen.

Alternativ können Regelverstöße auch in der Monitoring-Ansicht überwacht werden.

analysis rules monitoring

Adminsicht

Registries (Adminsicht)

Im Abschnitt Registries können Registries konfiguriert werden, die für die Wiederverwendung und Versionierung von konfigurierten Prozessgruppen verwendet werden können. Eine umfangreiche Beschreibung der Verwendung der Versionierung in IGUASU befindet sich im Abschnitt Versionierung.

Konfiguration der Registry

Eine IGUASU Instanz kann optional mit einer oder mehreren Registries verbunden werden. Falls diese Option nicht ausgewählt wurde, werden bestimmte Informationen, die mit der Versionierung zusammenhängen, in der Benutzeroberfläche nicht angezeigt. Die Konfiguration erfolgt in den Settings unter dem Punkt Registries.

Um die Settings eines Registries öffnen zu können, muss diese einmal angeklickt werden. Die einzige Registry die nicht näher konfiguriert werden kann, ist die 'Shared Registry', da diese geteilt wird.

settings registy

Innerhalb einer Registry können wiederum beliebig viele Buckets angelegt werden. Ein Bucket ist eine Gruppierung von versionierten Flows denen verschiedene Rechte und damit Benutzergruppen zugewiesen werden können.
Für dieses Beispiel kann die Checkbox Publicly available gesetzt werden, damit der Bucket für alle Nutzer sichtbar ist.

registries users

Users/Groups

In dem Abschnitt "Benutzer und Gruppen" können innerhalb der Einstellungen die Benutzer und vorhandene Benutzergruppen überschaut werden. Im Menü werden hierbei zum einen die vorhandenen Benutzergruppen aber auch die registrierten Benutzer*innen der Plattform tabellarisch dargestellt. Zur Verwaltung der Benutzer und ihrer Gruppen wird der Identity Provider Keycloak genutzt.

Einstellungen der Benutzer und Gruppen

Oben in der Tabelle befinden sich die Gruppen, die durch die Verwendung des Edit-Buttons rechts minimal angepasst werden können. Neben den vorhandenen Benutzergruppen können in der ursprünglichen Tabelle zudem alle Benutzer*innen der Plattform eingesehen werden. Hierbei ist zudem aufgelistet, in welchen Benutzergruppen diese Personen bereits vorhanden sind.

Durch das Anklicken des Edit-Buttons öffnet sich ein neues Fenster, in dem die Benutzer*innen angezeigt werden. Diejenigen die bereits zu der Gruppe gehören, werden durch eine ausgewählte Checkbox dargestellt. Bei der minimalen Anpassung in der Gruppe handelt es sich letztlich um die Checkbox Can acess restricted components. Dadurch kann nun jeder User der Gruppe restriktierte Prozessoren auswählen.

Anpassung der Benutzergruppen

Benutzergruppen können verwendet werden, um die Sichtbarkeit von Prozessgruppen im Diagramm zu steuern. Im Konfigurationsbereich der entsprechenden Prozessgruppen kann definiert werden, welchen Nutzergruppen die Prozessgruppe sichtbar sein soll.

Endpoints

Hier können HTTP Endpunkte verwaltet werden. Endpunkte können entweder vom Typ Internal, External, oder External with TLS Termination sein.

Internal: Interne Endpunkte sind nur innerhalb des eigenen Namespace erreichbar (z.B. durch andere Flows oder dem BPC) und können nicht von außen verwendet werden. Interne Ports werden durch den Service Namen https://iguasu-nifi:<port> angesprochen.

External: Externe Endpunkte sind öffentlich verfügbar und sollten dementsprechend abgesichert werden. Der Aufruf erfolgt über https://<domain>/<pfad> und wird dann an https://iguasu-nifi:<port> weitergeleitet.

External with TLS Termination: Im Gegensatz zum Typ External wird hier TLS direkt am Endpunkt terminiert und nicht am HTTP Proxy davor. Dies wird benötigt um TLS benutzen zu können. Hierfür ist es notwendig, eine Subdomain anzulegen. Der Aufruf erfolgt über https://<subdomain>.<domain>/<pfad> und wird dann an https://iguasu-nifi:<port>* weitergeleitet.

Endpunkte die nicht verändert oder gelöscht werden können, gehören zu den Standardendpunkten, welche für den Betrieb der Anwendung notwendig sind.

Endpunkt Verwaltung

Updates

Unter dem Reiter "Updates" kann IGUASU auf die ausgewählte neue Version aktualisiert werden. Dies kann direkt oder zu einem bestimmten Zeitpunkt (z. B. nachts) geschehen. Die Aktualisierung kann ein paar Minuten dauern. Nach dem Anklicken der Change Version-Option wird der Aktualisierungsprozess ausgelöst.

updates

Database Drivers

In dieser Ansicht können JDBC Treiber in IGUASU angepasst oder hochgeladen werden, um die Verbindung zu Datenbanken zu ermöglichen. Bereits vorhandene Treiber werden tabellarisch aufgelistet, wobei neben dem Dateinamen zudem ersichtlich ist, wann diese hinzugefügt wurden.

Datenbanktreiber

Wichtig beim Hochladen der Treiber ist, dass die Dateinamen die Endung .jar haben müssen, um im System verwendet werden zu können. Hochgeladene Treiber werden unter opt/iguasu/shared/driver abgespeichert.

IGUASU durch Custom NARs erweitern

Hier können Dateien hochgeladen werden, welche IGUASU um zusätzliche Funktionalitäten(eigene Services/Prozessoren) erweitern. Diese Dateien haben die Dateiendung .nar.

Custom NARs