Elastic Upgrade Version 7.x auf 8.x
Upgrade des Elastic Stacks mithilfe des Upgrade Assistens
Das Team von Elastic hat sich mit der letzten Version des Releases 7 vieles einfallen lassen, wodurch es Ihnen leichter fallen soll, Ihre Elastic-Applikationen von 7.x auf 8.x zu upgraden.
Dafür wurde der „Upgrade Assistant“ in der Kibana Oberfläche weiter verbessert, sodass dieser mehr Informationen und Unterstützungsmöglichkeiten bereitstellt.
Der Upgrade Assistent
Wollen Sie ein Upgrade von Elastic 7.x auf 8.x durchführen, so müssen Sie im ersten Schritt Ihr Cluster auf die Version 7.17.x upgraden. Nachdem diese Voraussetzung geschaffen wurde, können Sie über die Kibana-Oberfläche auf den von Elastic bereitgestellten Assistenten zugreifen. Dieser führt Sie daraufhin durch alle nötigen Schritte, welche vor einem Upgrade betrachtet werden müssen.
Achtung: Der Assistent ist nur für die Produkte Elasticsearch und Kibana vorgesehen. Es werden lediglich Maßnahmen angezeigt, die ein aktives Eingreifen erforden.
Diese beinhalten: Das Erstellen eines Snapshots, falls benötigt. Das Migrieren von System Indizes, was nur relevant ist, falls diese in einem nicht mehr unterstützten Format vorliegen. Daraufhin werden alle veralteten Einstellungen sowie in Zukunft falsche Konfigurationen aufgeführt. Dies beinhaltet zum Beispiel das Löschen von verschiedenen xpack.monitoring-Settings aus den *.yml Dateien, sowie das Anpassen von ILM’s und Index Settings. Ebenfalls wird hier ein „abfrosten“ von „frozen“ Indizes verlangt.
Im letzten Schritt verweist der Assistent noch auf die „deprecation“ logs, welche in einen dafür dedizierten Index periodisch geschrieben werden.
Anschließend können die einzelnen Komponenten geupgraded werden. Zu diesen gehören Elasticsearch, Kibana, diverse Beats sowie die Elastic Agents. Der eigentliche Upgrade-Prozess ist nicht im Assistenten enthalten und wird auf die von Ihnen bisher verwendetet Weise durchgeführt. Die Dauer des Upgrades unterscheidet sich nicht signifikant von der der Minor Versions. Falls Sie Ihre Upgrades über ein Repository durchführen, müssen Sie dieses vorab noch durch die Version 8.x ergänzen. Informationen zu den einzelnen Installationsquellen finden Sie unter https://www.elastic.co/guide/en/elasticsearch/reference/current/install-elasticsearch.html.
Nachbereitung und mögliche Fehlerquellen
Nachdem die Komponenten auf die neue Version geupgraded wurden, müssen nun noch Anpassungen vorgenommen werden, falls Fehlermeldungen im Log auftauchen. Ein möglicher Fehler kann das Fehlen des Kibana Logs darstellen. Dabei muss darauf geachtet werden, dass bei der neuen Logging Konfiguration im Kibana Log das [root] und [appenders] Setting richtig gesetzt ist, z.B.:
logging:
appenders:
file:
type: rolling-file
fileName: /var/log/kibana/kibana.log
policy:
type: size-limit
size: 10mb
layout:
type: pattern
pattern: "[%date][%level] %message"
root:
appenders: [file]
level: info
loggers:
- name: default
appenders: [file]
level: info
Eine weitere mögliche Fehlerquelle im Kibana Log ist das Auftreten von „authentication“ Error Messages, bei denen eine fehlende Authentifikation für bestimmte Monitoring Regeln aufgeführt wird. Bei dem Upgrade auf 8.x werden automatisch Regeln erstellt (zugreifbar im Münupunkt Stack Management unter Alerts and Insights -> Rules and Connectors), welche diese Fehlermeldungen werfen. Die Lösung dafür ist, mit einem berechtigten Nutzer diese Regeln zu deaktivieren und wieder zu aktivieren. Somit werden sie richtig von dem System erkannt und die Fehlermeldung verschwindet.
Ein weiterer Fehler kann bei dem Produkt „Logstash“ auftreten. Durch das Upgrade wurden einige Metadatenfelder hinzugefügt, welche, falls der gleiche Feldname schon in Events vergeben ist, zu Ingestfehlern führen können. Ein Beispiel wird durch das Verwenden des UDP Input Plugins erzeugt. Dieses Plugin erzeugt nun automatisch über die „source_ip_fieldname“ Konfiguration ein [host][ip] Feld. Falls nun schon ein [host] Feld vorhanden und nicht als „Objekt“ im Mapping des Index hinterlegt ist, wird der Ingestprozess eine „mapper_parsing_exception“ werfen. Durch die oben genannte Konfiguration können andere Feldnamen definiert werden.
Weitere Fehler bei dem Ingest Prozess können auftreten, wenn Sie in Ihren Logstash Konfigurationen bis zum Upgrade die Option "pipeline.ecs_compatibility" nicht gesetzt haben. Durch das Upgrade wurde diese automatisch auf enabled gesetzt, wodurch ein Feld [original] als Subfield gesetzt wird. Dieses kann zu Mapping Fehlern führen und durch das Setzen der "pipeline.ecs_compatibility: disabled" Option in der logstash.yml behoben werden.
Gern unterstützt Robotron Sie mit Beratungsleistungen zu Update-Strategien sowie weiteren Serviceleistungen rund um den Elastic Stack.
Kommentare
Keine Kommentare