Hinweise zum Update von service.monitor
Webapplikationen und Integrationen
Webapplikation /monitor
Die Webapplikation wird vollständig neu deployt. Die application.properties
-Datei kann nachgenutzt und gemäß evtl. vorliegender Update-Hinweise ergänzt werden.
Python APIs
Die Setup Python
-API und die FME Python
-API können in dem genutzten Python Environment über pip
aktualisiert werden. In dem Beispiel unten wird zunächst das Python-Environment aktiviert. Danach kann die neue Version installiert werden. Zuletzt erfolgt die Ausgabe von Informationen des installierten Paketes. Die Ausgabe der Version dieses Kommandos muss mit der Version des Wheel-Packages übereinstimmen.
#!/bin/sh
/etc/service.monitor/data/python/env/Scripts/activate.sh
pip install /etc/service.monitor/python/monitor_setup/monitor_setup-<VERSION>-py3-none-any.whl
pip show monitor_setup
#!/bin/sh
/etc/service.monitor/data/python/env/Scripts/activate.sh
pip install /etc/service.monitor/python/pipelines/pipelines-<VERSION>-py3-none-any.whl
pip show monitor_setup
In der Ausgabe des letzten Kommandos muss die gleich Version zu sehen sein, wie es der Dateiname der *.whl-Datei vorgibt.
Komponenten des Elasticsearch Stacks
Logstash-Pipelines
Die Pipeline-Dateien müssen aktualisiert oder in einem weiteren Verzeichnis Logstash zur Verfügung gestellt werden. Im letzteren Fall muss der geänderte Pfad in der pipelines.yml
aktualisiert werden. Wird mit der Umgebungsvariablen PIPELINES_PATH
gearbeitet, so muss deren Wert angepasst werden. Dies ist immer der Fall bei Installation unter Windows und NSSM Dienst-Erstellung.
Kibana: Space ct-monitor
Der default-Space ct-monitor
muss nicht aktualisiert werden.
Durch Editierung der config.json der Setup API können andere Spaces als der Default-Space ct-monitor erstellt werden. Dazu wird in dem Abschnitt spaces / default die id und der name geändert.
|
Kibana: Dashboards, Diagramme, Index-Pattern
Die dem Produkt zugehörigen Dashboards, Diagramme und Index-Pattern müssen aktualisiert werden, wenn Anpassungen aus neuen Versionen sichtbar werden sollen. Bestehende Objekte werden beim Import überschrieben.
#!/bin/sh
python -m monitor_setup -a import_dashboards -c /etc/service.monitor/data/setup/config.json
Durch diesen Aufruf werden alle Objekte des Ordners \resources\analytics\elasticsearch\kibana
veröffentlicht.
Wenn Änderungen an den Dashboards durchgeführt wurden (neue Diagramme hinzugefügt, Diagrammanordnung geändert, etc.) dann gehen diese Änderungen beim Überschreiben verloren. Neu erstellte Diagramme als Teil der Visualize Library bleiben erhalten. Soll ein Überschreiben verhindert werden, empfiehlt sich der manuelle Import der Dashboards über die Kibana-Oberfläche, dort können Konflikte manuell behandelt werden.
|
Die hier genannten Objekte werden individuell im jeweiligen Kibana Space gespeichert, können also mehrfach in unterschiedlichen Spaces existieren. |
Elasticsearch: Ingest Pipelines, Index Templates, Lifecycle Management Templates und Kickstart-Indizes
Die Ingest Pipelines und Templates definieren die Funktionsweise von service.monitor und ändern sich von Version zu Version. Unten sind die Änderungen detailliert aufgelistet. Grundsätzlich gilt: Wurden keine individuellen Änderungen an Objekten durchgeführt, kann die neue Version von service.monitor ganz normal installiert werden.
Wurden Änderungen durchgeführt, müssen diese manuell in die neue Version übertragen oder individuell abgewogen werden, onb die Änderungen übernommen werden sollen.
Typ | Einschätzung |
---|---|
Ingest Pipelines |
Customizations sollten übertragen werden, Pipelines werden aus fachlichen Gründen angepasst. |
Index Templates |
Änderungen durch das Produkt sollten übernommen werden. |
Index Lifecycle Policies |
Individuelle Änderungen am ILM haben zumeist fachliche Gründe (schnelleres Löschen von Daten, Erzeugen von größeren Indizes) |
Kickstart Indizes |
Änderungen durch das Produkt sollten übernommen werden. |
Alle Objekte, die zu Elasticsearch gehören (Ingest Pipelines, Index Templates, Lifecycle Management Templates und die Kommandos zum Erstellen der initialen service.monitor Indizes), werden bei der Nutzung der Setup API über den Wert import_objects
importiert.
#!/bin/sh
python -m monitor_setup -a import_objects -c /etc/service.monitor/data/setup/config.json
Durch diesen Aufruf werden alle Objekte des Ordners \resources\analytics\elasticsearch\ingest
und \resources\analytics\elasticsearch\dev-console
veröffentlicht.
Wenn Änderungen an Objekten durchgeführt wurden, dann gehen diese Änderungen beim Überschreiben verloren. Neu erstellte Objekte bleiben erhalten. Soll ein Überschreiben verhindert werden, müssen ein Abgleich zwischen Produkt-Objekten und angepassten Objekten durchgeführt werden (zum Beispiel insbesondere bei Pipelines). |
Kickstart Indizes
service.monitor enthält Kommandos zum initialen Anlegen von Indices. In einem Update-Szenario liegen diese also schon im System vor oder wurden durch das Lifecycle-Management auf read-only
gesetzt oder entfernt. Das erneute Ausführen des Kommandos führt zwar zu einer Fehlermeldung von Elastic (z.B. alias [ct-arcgis-logfile] has more than one write index
), stoppt jedoch nicht den Update-Prozess.
Detaillierte Änderungsübersicht Elasticsearch-Objekte
In dieser Übersicht werden Anpassungen an den genannten Objekt-Typen über die Versionen (ab Version 4.7) des Produktes protokolliert: