Inhaltsverzeichnis
Einleitung
Für die Fleet Agents und die Elastic Server Komponenten gibt es immer wieder Aktualisierungen. In diesem Beitrag möchte ich zeigen, wie man deren Updates installiert.
Durchführung der Updates
erster Agent-Update-Versuch
Im Menü vom Fleet Server sieht man im Tab Agents deren installierte Version. Daneben wird angezeigt, ob dafür ein Update verfügbar ist. Über die Schaltfläche daneben kann das Upgrade gestartet werden:

Achtung: Der Agent kann nicht aktueller sein als der Fleet Server. Daher sollte zuerst immer der Fleet Server auf die gewünschte Version aktualisiert werden:

Aktualisierung des Elastic Servers
Daher starte ich zunächst das Update des Elastic Servers. Das geht über die registrierten Repos recht einfach:
sudo apt update
sudo apt list --upgradable
sudo apt upgrade


Das Update dauert eine Weile. Ich beende es mit einem Serverneustart. Danach melde ich mit im Kibana an und prüfe die Versionsnummer. Ich habe nun die neuste Version des 8er Releases:

Seit April 2025 ist das Release 9 verfügbar. Das bedeutet, dass mein eingesetztes Release 8 noch 17 Monate unterstützt wird. Genaueres erfahre ich beim Hersteller: Elastic Product End of Life Dates | Elastic
mit der aktuellen Version bin ich zufrieden, daher führe ich jetzt kein Upgrade aus.
zweiter Agent-Update-Versuch
Ich suche mir wieder ein System für das Agent-Update heraus, erhalte aber immer noch eine Fehlermeldung, wenn ich auf die aktuellste Version im 8er Release wechseln will:

Das Problem ist schon länger bekannt. Stand heute gab es den letzten Fehlerbericht dazu vor 3 Wochen. Meine aktuelle Version ist davon also betroffen: [Fleet] Trying to upgrade all fleet servers at once spits „Error upgrading agents: Cannot upgrade agent to XXX because it is higher than the latest fleet server version YYY“ · Issue #168660 · elastic/kibana
Mein Fleet-Server läuft mit der Version 8.17.3 und ich kann alle Agents auf die letzte 8.17er Version aktualisieren. Aber auf die 8.18er Version komme ich nicht hoch.
Ich starte mal einen Versuch und aktualisiere den Fleet-Server bzw. seinen Agent auf die neuste Version 8.17.7. Vielleicht steht mir dann die 8.18er Version als Update zu Verfügung

Im Internet habe ich keine weitere Lösung gefunden. Daher werde ich die github-Diskussion beobachten und danach hier weiter machen.
Aktualisierung des Fleet Servers
Heute kam mir die Idee, den Fleet Server einfach mit der aktuellen Version drüber zu installieren. Das Setup habe ich im Fleet Manager gestartet:

Dort wurde der Anweisungstext für die Bash erzeugt. Diesen habe ich mir heraus kopiert:

Daraus konnte ich den kompletten Code zusammenstellen:
cd /opt
sudo curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-8.18.2-linux-x86_64.tar.gz
sudo tar xzvf elastic-agent-8.18.2-linux-x86_64.tar.gz
cd elastic-agent-8.18.2-linux-x86_64
sudo ./elastic-agent install \
--fleet-server-es=https://192.168.100.32:9200 \
--fleet-server-service-token=AAEAAWVsYXN0aWMvZmxl4a5127VydmVyL3Rva2VuLcd0f69e3NzkzNjY6cXA4TGxNc3FUbHF6S0dLTktnZENLQQ \
--fleet-server-policy=fleet-server-policy \
--fleet-server-es-ca-trusted-fingerprint=422258001e4b1309d44a5127193a5630cd0f69e390567d72e281d977fe2bffaa \
--fleet-server-port=8220 \
--fleet-server-cert=/etc/ssl/cert/siem.crt \
--fleet-server-cert-key=/etc/ssl/cert/siem.key \
--url=https://siem.ws.its:8220 \
--certificate-authorities=/etc/ssl/cert/rootca.crt \
--force
Das Setup dauert nur wenige Minuten. Dabei wurde die alte Version des Fleet Servers (Agents) deinstalliert:

Die Verbindung wurde im Kibana bestätigt. Den Wizzard habe ich danach geschlossen:

Der alte Fleet Server ist nun offline. Dafür wird der neue angezeigt. Den alten kann ich nun durch ein unenroll entfernen:

Da es den Agent nicht mehr gibt, entferne ich ihn sofort:

Nun kontrolliere ich, ob die anderen Agents weiter Logs senden und konfiguriert werden können. Es schaut alles soweit gut aus.
dritter Agent-Update-Versuch
Ich starte einen weiteren Versuch, einen Agent auf die aktuelle Version 8.12.2 zu aktualisieren. Dieses Mal schaut es gut aus:


Wenige Minuten später wird die neue Version angezeigt:

Massenaktualisierung der Agents
Nachdem der erste Client erfolgreich aktualisiert wurde, möchte ich alle Clients auf den neusten Stand bringen. Auch das klappt in der Web-UI. Mit diesem Filter werden alle möglichen Clients angezeigt:

Nachdem alle Clients ausgewählt sind, kann die Aktualisierung einfach gestartet werden:

Ich habe wenige Server, die nur zu bestimmten Zeiten aktiv sind. Daher wähle ich eine größere Rollout-Periode aus:

Das Ergebnis lässt dann aber auch entsprechend lange auf sich warten. Die ersten Hosts sind bereits beim Setup. Andere warten noch. Ich kontrolliere das heute Abend.

Ein paar Stunden später sind meine Agents aktualisiert. Damit wäre diese Aufgabe auch erfüllt.
Zusammenfassung
Ich muss nun nicht länger auf den Bugfix warten. Mit dem Force-Parameter beim Agent-Setup gelang mir die Aktualisierung. 🙂
Stay tuned