JavaPlugin-Exporter
|
|
Mit dem Virtimo JavaPlugin-Exporter lassen sich eigene Plugins mit Java programmieren, ohne sich um die technische Einbindung in den VIMON Gedanken machen zu müssen. Derzeit sind folgende Plugins verfügbar und können dem JavaPlugin-Exporter hinzugefügt werden:
Konfiguration
In der Basisvariante des Exporters ist nur der HelloWorldExporter vorhanden, welcher ausschließlich während der Einrichtung des Exporters aktiv sein sollte und zu Testzwecken dient.
Alle Weiteren Exporter werden als .jar-Datei im Ordner des Exporters (vimon/exporter/javaplugin_exporter/) abgelegt und müssen über die Konfiguration aktiviert werden.
Die Konfiguration für den JavaPlugin-Exporter befindet sich in der Datei vimon/config/javaplugin_exporter/javaplugin_exporter.yml.
Hier wird festgelegt, welche der verfügbaren Plugins auf welchen Ports gestartet werden sollen. Allein ist der JavaPlugin-Exporter nicht lauffähig, sondern dient nur als Basis für die konkreten Plugins.
logLevel: FINE # ALL, CONFIG, FINE, FINER, FINEST, INFO, SEVERE, WARNING, OFF
host: localhost
plugins:
- name: HelloWorldExporter
active: true
port: 9106
- name: xxxExporter
active: false
port: 9103
Diese Konfiguration würde dazu führen, dass das Plugin HelloWorldExporter auf dem Port 9106 bereitgestellt wird.
Der xxxExporter wird hier nicht benötigt, steht auf active: false und wird daher nicht gestartet.
Konfiguration der Plugins
Neben den Konfigurationen für den JavaPlugin-Exporter erhält jedes Plugin seine individuelle Konfigurationsdatei.
Die Konfigurationen aller Plugins werden im Verzeichnis vimon/config/javaplugin_exporter/plugins abgelegt und im Beispiel des HelloWorldExporters helloworld_exporter.yml genannt.
Die Plugin-Konfigurationen sind in den jeweiligen Unterseiten der Plugins beschrieben.
Logging
Der JavaPlugin-Exporter schreibt seine Logs in die Datei vimon/data/logs/javaplugin_exporter.log.
Wie auch bei den Konfigurationen erhält jedes gestartete Plugin seine eigene Logdatei im Ordner vimon/data/logs/javaplugins/.
Eigenentwicklung von Plugins
Des JavaPlugin-Exporters ermöglicht für Anwendungsfälle, die nicht durch andere Exporter abgedeckt werden können, den Bau eigener Plugins. Hierzu folgt eine kurze Beschreibung, wie diese Plugins gebaut werden können.
Vorbereitung
Folgende Dinge werden für die Entwicklung eigener Plugins benötigt:
-
javaplugin_exporter.jar
-
JDK 11
-
Maven
-
Entwicklungsumgebung (z.B. IntelliJ)
-
CustomPluginTemplate Repository
In der pom.xml des CustomPluginTemplates muss der Pfad zum javaplugin_exporter.jar angegeben werden, damit die Dependencies aufgelöst werden können.
Entwicklung
-
Klassen, Ordner und Konfigurationsdateien umbenennen.
Es empfiehlt sich, die bestehenden Namenskonventionen auch für das neue Plugin einzuhalten, da der JavaPlugin-Exporter diese an einigen Stellen benötigt, um das selbst entwickelte Plugin zu starten. -
Die Klasse
CustomPluginTemplate(welche nun anders heißt) enthält eine Funktionexecute. Diese Methode wird bei jedem Request an den Exporter ausgeführt, innerhalb dieser Funktion wird die Fachlogik implementiert. Wichtig ist, dass die Methode immer ein Set von Prometheusmetriken zurückgibt. -
Das neue Plugin über die Main Methode testen.
Eine passende RunConfiguration ist im Repository vorhanden (für IntelliJ). Zum Start müssen der Pfad zum Config- und Log-Ordner als Argument übergeben werden.
Bereitstellung des Plugins
Nachdem die Entwicklung abgeschlossen ist, wird das Plugin mit dem Befehl mvn clean package gebaut.
Das erstellte Jar muss entsprechend der Namenskonvention umbenannt werden und kann anschließend mit der entsprechenden Konfiguration auf einem Server abgelegt werden, auf dem der JavaPlugin-Exporter bereits installiert ist.