Exporter

VIMON verfügt über eine vorbestimmte Auswahl an Metriken zur Überwachung. Diese Metriken werden durch sogenannte Exporter erhoben.

Exporter Linux Windows

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

Blackbox-Exporter

Der Blackbox-Exporter dient dem Probing von anderen Servern und Services aus Sicht des Satellite-Nodes via HTTP, HTTPS, DNS, SSH, POP, TCP, ICMP usw. Damit kann z.B. geprüft werden, ob ein Applikationsserver über eine stabile Verbindung zum Datenbank- oder DNS-Server verfügt.

BPC-Exporter

Der BPC-Server stellt die Metriken über einen Endpunkt bereit.

Cert-Exporter

Der Cert-Exporter wird verwendet, um die Gültigkeit von Zertifikaten zu überwachen.
Auf diese kann dann auch ein Alarm gesetzt werden, um zeitnah über bald ablaufende TLS-Zertifikate (z.B. in reverse Proxy) informiert zu werden.

Cloudwatch-Exporter

Der Cloudwatch-Exporter dient der Extraktion von Werten aus dem AWS-Cloudwatch zur konsolidierten Darstellung im VIMON.

Dateianzahl-Exporter

Der Dateianzahl-Exporter zeigt dem Prometheus die Anzahl von Dateien in beliebigen Interface-Ordnern.

Beispiel:
Im Beispiel-Interface werden jede Stunde ~200 XML Dateien in einem Ordner abgelegt, die dann von INUBIT unter Beibehaltung der Reihenfolge eingelesen und verarbeitet werden. Den Füllstand sollte im Grafana sichtbar sein und mit einem Alarm versehen werden können. Daher dieser Exporter. Er baut auf dem Node Exporter auf:

filecount exporter

Die Liste der zu überwachenden Ordner kann frei konfiguriert werden (hier z.B. /control2inubit, /reko2inubit und /transport2inubit)

Diskbench-Exporter

Der Diskbench-Exporter kann die Schreib- und Lesegeschwindigkeit und Berechtigung von lokalen und remote gemounteten Dateisystemen messen. Er schreibt zyklisch eine Datei wählbarer Größe in ein Verzeichnis und liest sie wieder aus. Damit kann überwacht werden, ob die Geschwindigkeiten stark schwanken und z.B. Backups ein Grund für Performance-Schwankungen sind.

Der Node-Exporter bzw. Windows-Exporter ermitteln, wie viel Durchsatz bestimmte storage devices gerade haben. Allerdings messen beide nicht, wie viel theoretisch möglich wäre.
Hierfür kann auch der Diskbench-Exporter verwendet werden.

In folgenden Fällen ist es sinnvoll, regelmäßig eine Durchsatzprüfung durchzuführen:

  • Performance-sensible Speicher/Ablage

  • Netzlaufwerke, bei denen mit einer Schwankung des Durchsatzes zu rechnen ist, welche eventuell Auswirkungen auf die Geschwindigkeit oder Stabilität der Applikation haben

Dabei wird eine Datei definierbarer Größe beim Aufruf des Exporters geschrieben, anschließend wieder gelesen und die Prüfsumme kontrolliert.
Der Exporter gibt dann je konfigurierter Datei jeweils den Erfolg und die Dauer der einzelnen Operationen aus.

Exim-Exporter

Der Exim-Exporter dient dazu, Mailserver-Statistiken aus dem Exim für das Monitoring freizugeben.

Grok-Exporter

Der Grok-Exporter kann dazu genutzt werden, Metriken aus Logdateien auszulesen bzw. die Anzahl von Einträgen in Logs zu summieren. Er ähnelt Promtail insofern, als er ebenfalls Logdateien scraped.

Jedoch wertet der Grok-Exporter lediglich Muster aus und gibt entweder aus den entsprechenden Zeilen ermittelte Zahlenwerte (gauges) zurück oder meldet, dass bzw. wie viele Zeilen (counter) eines bestimmten Musters vorgekommen sind.

Damit kann ermittelt werden, ob bestimmte Fehler/Auffälligkeiten vorgekommen sind.
Andererseits können z.B. auch die Zeiten der LogDB-Zugriffe vom INUBIT oder die JMS-Queue-Size des AS4-Gateways, die nummerisch in die jeweiligen Logs geschrieben werden, im VIMON abgebildet werden.

HAProxy-Exporter

Der HAProxy-Exporter dient zum Extrahieren von Statistiken zu ein- und ausgehenden Verbindungen, sowie dem Zustand von Backends und Servern aus dem HAProxy.

Klassischerweise connected er sich auf einem Socket, weswegen hier entsprechende Berechtigungen gesetzt sein müssen.

Ab HAProxy Version 2.0 ist ein entsprechender Endpunkt im HAProxy inkludiert. Dieser Exporter ist somit dann nicht mehr nötig.

ISDB-Exporter

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!

JMX-Term-Exporter

Dieser Exporter kann sich per JMX zu Java-Prozessen verbinden und interne Metriken bereitstellen, z.B. Tomcat Threads oder DB Connection Pooling-Informationen.
Er wird auch eingesetzt, um Bean-Informationen aus dem INUBIT-Tomcat auszulesen. Der Exporter basiert auf dem JMX-Term JAR und einer Adaption des Script-Exporters, um sich mit dem laufenden INUBIT-Tomcat zu verbinden. Von dort kann es beliebige Beans auslesen.

Beispiel:

jmxterm exporter

Keycloak-Exporter

Der Keycloak-Exporter dient zum Extrahieren von Statistiken und Zustandsinformationen aus Keycloak.

MySQL-Exporter

Der MySQL-Exporter dient zum Extrahieren von Statistiken und Zustandsinformationen aus der MySQL/MariaDB.

Dabei werden sowohl Informationen über den Daemon selbst, als auch über Abfragen (bspw. Statistiken zu IOWaits und Locks) und Sessions bereitgestellt.

Node-Exporter

Der Node-Exporter sammelt Basisdaten des Linux-Betriebssystems. Er gibt dabei diverse Umgebungsparameter aus, z.B.:

  • CPU-Auslastung

  • Netzwerkdurchsatz

  • Festplattenauslastung

  • Festplattenzugriffe

Dabei wird nicht zwischen unterschiedlichen Prozessen unterschieden.

Process-Exporter

Der Process-Exporter erweitert unter Linux die Daten des Node-Exporter um prozessspezifische Daten. Mit ihm können einzelne Prozesse bzw. Prozessgruppen auf Auslastung und andere Metriken überwacht werden. Damit ist z.B. auch eine Eingrenzung von Lastspitzen auf Prozesse möglich.

Für einen Prozess oder eine Prozessgruppe werden damit Statistiken gruppiert und ausgegeben, z.B.:

  • CPU-Auslastung

  • Festplattenzugriffe

  • RAM

Promtail

Promtail kommt zum Einsatz, um Logdateien einzulesen und an Loki zu übergeben. Beliebige Logdateien können so in den VIMON importiert werden.
Der zeitliche Bezug bleibt so in Loki erhalten und einzelne Log-Meldungen lassen sich in der VIMON-Oberfläche bestimmten Auffälligkeiten zuordnen

Promtail kann neben Logfile-Scraping auch als RSyslog-Server agieren.

Script-Exporter

Der Script-Exporter ist ein generischer Exporter, der lediglich dazu dient, lokale selbstgeschriebene Skripte aufzurufen und deren Erfolg, Laufzeit und ggf. Response zurückzugeben. Damit kann er für beliebige Anwendungsfälle eingesetzt werden, z.B. um Informationen aus Dateien zurückzugeben oder curl mit jq auszuwerten und so z.B. Daten aus dem BPC auszuwerten und für VIMON bereitstellen.

Windows-Exporter

Der Windows-Exporter stellt das Windows-Pendant zu sowohl dem Node-Exporter als auch dem Process-Exporter dar.
Er exposed Zustandswerte des Windows-Host, z.B.:

  • CPU-Auslastung

  • RAM-Auslastung

  • Festplattenauslastung

  • Netzwerkdurchsatz

  • IO-Last

Zusätzlich stellt er aber auch Statistiken auf Prozess-/Service-Ebene bereit.