ISDB-Exporter

  • Linux

  • Windows

Der ISDB-Exporter stellt die Metriken der INUBIT REST-Schnittstelle für Versionen kleiner als Version 7.4.0.50 bereit. Er kann als generischer DB-Connector agieren, um die Datenbankverfügbarkeit aus Sicht des Applikationsservers zu messen. Somit kann er auch Fachdaten aus der DB aufbereiten und als Metrik bereitstellen (z.B. Anzahl eingehender Nachrichten pro Minute).

Dabei können Daten und Statistiken aus Datenbanken extrahiert, aber ebenso Funktionen getriggert werden. Außerdem misst der Exporter die Laufzeiten der einzelnen Statements, sodass Informationen über die Erreichbarkeit und Performance der Datenbank ermittelt und im VIMON abgebildet werden können.

Ab Version 7.4.0.50 bietet INUBIT selbst auch Prometheus-Metriken über die REST Metrics Schnittstelle, z.B. Informationen über laufende, fehlerhafte und wartende Prozesse im Queue-Manager, Wartungsmodus etc. Hier sollte für die Ermittlung der INUBIT-Daten nur noch dieser Weg verwendet werden!

Der ISDB-Exporter wird weiterhin verwendet, dann allerdings als reiner Datenbank-Exporter!

Verhalten

Initialisierung

Beim Start des Exporters wird die Konfiguration eingelesen. Der Eintrag inubit kann dabei 0 bis 1x vorkommen und wird bei jeder Abfrage einmalig vor dem Ausführen der Statements getriggert.

Alle Statements beziehen sich auf das zuvor definierte database. Es können also mehrere Databases mit zugehörigen Statements definiert werden.

Beim Start werden dann Abfragen für alle database Einträge aufgebaut.

Bei einer Abfrage werden die connections verwendet bzw. bei Bedarf wieder neu aufgebaut.

INUBIT-Abfragen

Der Exporter verhält sich gegenüber INUBIT wie eine Workbench und fragt bei der Process Engine eine Aktualisierung des QueueManagers an. Erst nach dieser schreibt INUBIT seine QueueManager-Daten in die LOG-Tabellen in der Datenbank.

Daher kann der ISDB-Exporter anschließend sich zur Datenbank verbinden und dort die QueueManager-Tabellen auf Status, Benutzergruppen, usw. auswerten.

Während INUBIT diese Auswertung und Persistierung der Prozesse durchführt, kann kein anderer User/Prozess auf den QueueManager zugreifen. Daher kann die Verwendung des QueueManagers mit aktivem ISDB-Exporter auf dieser ProcessEngine zu seltsamen Anzeigen führen.

Datenbankabfragen

Alle Abfragen (statement) werden in executionGroups getrennt. Dabei werden alle Abfragen innerhalb einer executionGroup parallel ausgeführt.

Die `executionGroups wiederum werden sequenziell ausgeführt.

Setup

Zur Kommunikation mit der Datenbank verwendet der ISDB-Exporter JDBC. Dazu werden alle Treiber inkludiert, die unter vimon/drivers liegen.

Konfiguration

Die Konfiguration liegt unter vimon/config/isdb_exporter/isdb_exporter.conf.

Soll INUBIT nicht über diesen Exporter abgefragt werden, kann der inubit-Block ausgelassen werden.

Benötigte Blöcke sind dann:

  • 1..n database mit jeweils

    • 1..n statement

Die Statements können dabei

  • entweder einen nummerischen Wert
    oder

  • zeilenweise mehrere Werte (die dann in einer Spalte mit dem Namen value sein müssen!) und Labels in weiteren Spalten zurückgeben.
    Im zweiten Fall wird dann je Zeile eine Prometheus-Metrik erzeugt, mit dem value als Wert und den anderen Spalten als Labels.