Verfahren für Aktualisierung/Upgrade und Rollback
Warum es wichtig ist, auf dem neuesten Stand zu bleiben
Weniger inkompatible Änderungen auf einmal. Mehrere Versionen haben Elemente geändert, von denen ältere Bereitstellungen abhängen:
- Rel-1.5 hat die Konfiguration von Dateien auf Umgebungsvariablen und docker-compose umgestellt und die Feldnamen der Datenbank überarbeitet.
- Rel-1.12 hat die Customer (Network) ID eingeführt.
LTI_customer_idist jetzt ein Pflichtparameter des Agents, und die FAQ führt „customerID is required“ als API-Fehler auf. - Rel-2.5 hat die Ablage der MCP-Daten geändert, sodass sich die Ordner certs und data jetzt unter
mcp/befinden. Außerdem wurden gestapelte Lizenzen und ein optionales zufälliges Analyzer-Passwort eingeführt.
Ein Standort, der mehrere Versionen überspringt, muss all dies in einem einzigen Wartungsfenster bewältigen und hat im Fehlerfall mehr zu diagnostizieren.
Sicherheit und Lizenzen.
- Rel-2.1 hat Schwachstellentests durchgeführt, die Open-Source-Komponenten aktualisiert und sichere Discovery-APIs hinzugefügt.
- Rel-2.5 hat zufällige Analyzer-Passwörter eingeführt.
- Rel-2.5 hat den Lizenzablaufmechanismus der Agents eingeführt, mit Warnungen in Grafana und einer Kulanzfrist, bevor keine Daten mehr gesendet werden.
- Der Stack enthält jetzt Grafana 12.4.2, InfluxDB 2.8.0, Kafka 8.2.0 und Telegraf 1.38.
Genauigkeit und Zuverlässigkeit der Messungen. Aktuelle Korrekturen wirken sich direkt auf die Datenqualität aus:
- Rel-2.4.1 hat hängende TCP-Sockets behoben, die LIFBE-Messungen für etwa eine Stunde unterbrachen.
- Rel-2.4.2 hat das Timing von iPerf3 mit mehreren Profilen korrigiert.
- Rel-2.5 hat die iPerf-Aufzeichnung korrigiert, die nur den Durchsatz des ersten Agents erfasste, wenn zwei Agents gleichzeitig sendeten.
- Rel-2.5 hat verzögerte iPerf-UDP-Messungen korrigiert.
- Rel-2.5 sendet die PCI-Werte auch für 4G und nicht nur für 5G.
Funktionen, die schrittweise hinzukommen.
- Rel-2.3: MCP-Server, neue OpenAPI-Endpunkte, IPv6-Unterstützung für Verbindungen vom Agent zum Reflector.
- Rel-2.4: verbesserte Heatmaps, Werkzeuge zur Fehlerbehebung, Unterstützung für XR-90.
- Rel-2.5: Unterbrechungs-Dashboard, Perzentile in der detaillierten Latenzansicht.
Jede Version bringt neue Dashboards, APIs und Hardwareunterstützung, und ein größerer Versionsabstand bedeutet mehr Einführungsaufwand auf einmal.
Support. Kunden mit aktuellen Versionen lassen sich am einfachsten diagnostizieren und unterstützen, und die Dokumentation beschreibt stets das neueste Verhalten.
Wie aktualisiere ich meine Version von Analyzer, Reflector und QoS Agents?
Wenn eine neue Version verfügbar ist (siehe Versionshinweise), aktualisieren Sie die Komponenten in dieser Reihenfolge:
- Analyzer
- Reflector
- QoS Agents
Prüfen Sie jede Komponente, bevor Sie mit der nächsten fortfahren. Wenn eine Prüfung fehlschlägt, folgen Sie dem Rollback-Verfahren für diese Komponente.
Wenn Sie benutzerdefinierte Dashboards haben, wenden Sie sich vor der Aktualisierung des Analyzer an Ihren LatenceTech-Anbieter.
Bevor Sie beginnen
- Planen Sie ein Wartungsfenster ein. Während der Sicherung oder des Upgrades des Analyzer werden keine Messungen gespeichert.
- Halten Sie alle Ihre aktuellen Lizenzschlüssel bereit.
- Führen Sie die Aktualisierung des Analyzer als der Benutzer aus, der den Analyzer installiert hat, und zwar aus dessen Home-Verzeichnis, das den Ordner
lti_analyzer/enthalten muss. InfluxDB und Grafana laufen mit der ID dieses Benutzers, und ihre Datenordner gehören ihm; ein anderer Benutzer würde Berechtigungsfehler verursachen. - Wenn Sie ein zufälliges Analyzer-Passwort verwenden, muss es mindestens 8 Zeichen lang sein. Es ist auf dem Analyzer-Host in
~/.saved_lti_passwordgespeichert und auf Ihren QoS Agents alsLTI_SERVICE_KEYfestgelegt. - Notieren Sie die folgenden Werte aus
lti_analyzer/docker-compose.yml:ADMIN_KEY,MCP_TOKEN,LTI_license_key,LTI_passwordsowieLTI_PERCENTILE_FILTERoderLTI_percentile_filter. Das Online-Aktualisierungsskript stellt sie automatisch wieder her, Sie benötigen sie aber für das Offline-Verfahren und zur Überprüfung des Ergebnisses. - Stellen Sie sicher, dass auf jedem Host genügend freier Speicherplatz für die Sicherung vorhanden ist. Image-Archive können mehrere GB groß sein.
1) System sichern
Die Sicherung wird in ~/lti-rollback/ gespeichert. Verwenden Sie nicht ~/lti-backup/: Das Aktualisierungsskript des Analyzer schreibt in diesen Ordner und überschreibt seinen Inhalt.
Ein vor dem Upgrade erstellter Snapshot der virtuellen Maschine ist ebenfalls eine gültige Sicherung und ermöglicht ein schnelleres Rollback.
Analyzer-Host
Der Analyzer speichert seine Daten in Ordnern unter ~/lti_analyzer/ (influxdb/data, grafana/grafana, mcp/certs und mcp/data), sodass die folgende Sicherung alle abdeckt. Sie sichert außerdem zwei Dateien aus Ihrem Home-Verzeichnis: ~/.cached_lti_license_key, die in den API-Container eingebunden wird, und ~/.saved_lti_password, die nur existiert, wenn Sie ein zufälliges Passwort verwenden.
Erstellen Sie die Sicherung:
mkdir -p ~/lti-rollback/config
cp ~/.saved_lti_password ~/lti-rollback/config/ 2>/dev/null
cp ~/.cached_lti_license_key ~/lti-rollback/config/ 2>/dev/null
# Stop the whole Analyzer so that the InfluxDB and Grafana files are consistent
docker compose -f ~/lti_analyzer/docker-compose.yml stop
# Save the InfluxDB data
sudo tar -czf ~/lti-rollback/influxdb-data.tar.gz -C ~ lti_analyzer/influxdb/data
# Save the rest of the Analyzer folder (docker-compose.yml, Grafana data, mcp, certs, data, ...)
sudo tar -cf ~/lti-rollback/lti_analyzer-config.tar --exclude='lti_analyzer/influxdb/data' -C ~ lti_analyzer
# Start the Analyzer again
docker compose -f ~/lti_analyzer/docker-compose.yml start
# Save the current container images, to be able to roll back without downloading
docker images --format '{{.Repository}}:{{.Tag}}' | grep -v '<none>' | xargs docker save -o ~/lti-rollback/images-pre-upgrade.tar
Prüfen Sie die Sicherung, bevor Sie fortfahren:
ls -lhA ~/lti-rollback ~/lti-rollback/config
sudo tar -tzf ~/lti-rollback/influxdb-data.tar.gz | head -5
sudo tar -tf ~/lti-rollback/lti_analyzer-config.tar | grep -m3 'lti_analyzer/grafana/grafana'
Jeder Befehl muss eine Ausgabe liefern, und config/ muss .cached_lti_license_key enthalten (sowie .saved_lti_password, wenn Sie ein zufälliges Passwort verwenden).
# The backup contains passwords and keys: restrict access to it
sudo chmod -R go-rwx ~/lti-rollback
Reflector-Host
Im Verzeichnis ausführen, das lti_reflector.yml enthält:
mkdir -p ~/lti-rollback
cp lti_reflector.yml ~/lti-rollback/lti_reflector.yml.pre-upgrade
docker save -o ~/lti-rollback/reflector-image.tar registry.latence.ca/software/reflector
QoS-Agent-Hosts
Im Verzeichnis ausführen, das lti_qos-agent.yml enthält:
mkdir -p ~/lti-rollback
cp lti_qos-agent.yml ~/lti-rollback/lti_qos-agent.yml.pre-upgrade
docker save -o ~/lti-rollback/qos-agent-image.tar registry.latence.ca/software/qos-agent
2) Analyzer aktualisieren
Sie haben keine benutzerdefinierten Dashboards (Online-Installation):
Wechseln Sie in das Verzeichnis, das den Ordner lti_analyzer/ enthält (Ihr Home-Verzeichnis), laden Sie das Skript herunter und führen Sie es mit sudo aus:
cd ~
wget https://api.latence.ca/software/update.sh
sudo bash update.sh
Das Skript fragt, ob Sie Ihre InfluxDB-Daten sichern möchten. Antworten Sie mit y, um Ihre historischen Daten zu behalten. Wenn Sie mit n antworten, wird der Analyzer mit einer leeren Datenbank neu installiert.
Anschließend stoppt und entfernt das Skript Ihre aktuellen Analyzer-Container und -Images, installiert den neuesten Analyzer, spielt Ihre InfluxDB-Daten wieder ein und stellt automatisch Ihre Lizenzschlüssel, den Perzentilfilter, das Analyzer-Passwort, ADMIN_KEY, MCP_TOKEN und die MCP-Daten wieder her.
Da das Skript das Standard-Installationsprogramm ausführt, werden Ihnen außerdem zwei Fragen gestellt:
- Filter 95. Perzentil (
true/false): Antworten Sie mit Ihrer aktuellen Einstellung. - Zufälliges Passwort (
true/false): Diese Frage wird nur gestellt, wenn Sie noch kein zufälliges Passwort verwenden (d. h. wenn~/.saved_lti_passwordnicht existiert). Antworten Sie mitfalse, um Ihr aktuelles Passwort zu behalten. Wenn Sie mittrueantworten, wird ein neues zufälliges Passwort erzeugt und angewendet, und Sie müssen es auf jedem QoS Agent alsLTI_SERVICE_KEYfestlegen, sonst senden diese keine Daten mehr.
Das Installationsprogramm fragt bei einer Aktualisierung nicht nach einem Lizenzschlüssel: Es verwendet den in ~/.cached_lti_license_key gespeicherten Schlüssel erneut. Am Ende wartet es auf die Lizenzprüfung, was einige Minuten dauern kann.
Hinweise:
- Unterbrechen Sie das Skript nicht. Wenn es unterbrochen wird oder unterwegs fehlschlägt, führen Sie es nicht erneut aus. Folgen Sie dem Rollback-Verfahren.
- Wenn das Skript länger als einige Minuten bei „Waiting for License logs“ hängt, prüfen Sie
docker logs lti_analyzer-influx-writer-1. Wenn die Lizenz 0 zulässige Agents angibt, fordert das Skript einen gültigen Lizenzschlüssel an. - Die vom Skript erstellte Sicherung (in
~/lti-backup/) enthält nur die InfluxDB-Daten und zwei Konfigurationsdateien. Sie ist keine Rollback-Sicherung: Die Sicherung aus Schritt 1 bleibt erforderlich. - Das Skript meldet „Update completed successfully“, auch wenn ein Schritt fehlgeschlagen ist. Führen Sie immer die folgenden Prüfungen durch.
Sie haben benutzerdefinierte Dashboards:
Wenden Sie sich vor der Aktualisierung an Ihren LatenceTech-Anbieter.
Offline-Installation:
Voraussetzungen:
- Die neue Datei
Analyzer_offline.zip. Sie kann mitwget https://api.latence.ca/software/Analyzer_offline.zipheruntergeladen oder auf einem USB-Stick von LatenceTech bezogen werden. - Führen Sie alle Befehle in dem Verzeichnis aus, das sowohl
lti_analyzer/als auchAnalyzer_offline.zipenthält. In diesem Beispiel liegtlti_analyzer/in Ihrem Home-Verzeichnis (~/); passen Sie die Befehle an Ihren Speicherort an. - Schritt 1 (Sicherung) ist abgeschlossen.
2a) Container löschen
Warnung: Dieser Befehl löscht alle Container und Images auf dem Host. Führen Sie ihn nur auf einem Host aus, der ausschließlich für den Analyzer verwendet wird.
# Delete containers and images
docker stop $(docker ps -q) && docker rm $(docker ps -a -q) && docker rmi $(docker images -q) && docker system prune -af
# Cleaning up
sudo rm -rf ~/lti_analyzer/ ~/lti_analyzer.launch.log
2b) Neuinstallation
# Unzip
unzip Analyzer_offline.zip 2>&1
# Go in the folder
cd Analyzer_offline/
# Execute script
bash install-run-analyzer-offline.sh
# Go back to the previous directory
cd ..
2c) Ihre Daten wieder einspielen
# Stop containers influxdb and influx-writer
docker stop lti_analyzer-influxdb-1
docker stop lti_analyzer-influx-writer-1
# Extract influxdb data
sudo tar -xf ~/lti-rollback/influxdb-data.tar.gz -C ~
# Restarting influxdb and influx-writer
docker start lti_analyzer-influxdb-1
docker start lti_analyzer-influx-writer-1
# Place back the MCP server data, certs and data folders (the ones that exist in your backup)
for d in mcp certs data; do sudo tar -xf ~/lti-rollback/lti_analyzer-config.tar -C ~ lti_analyzer/$d 2>/dev/null; done
Wenn certs/ oder data/ im Stammverzeichnis von lti_analyzer/ liegen, verschieben Sie sie in die neue Ordnerstruktur mcp/:
mkdir -p ~/lti_analyzer/mcp
sudo mv ~/lti_analyzer/certs ~/lti_analyzer/mcp/ 2>/dev/null
sudo mv ~/lti_analyzer/data ~/lti_analyzer/mcp/ 2>/dev/null
2d) Konfiguration wiederherstellen
# Restore home config files (if backed up)
cp ~/lti-rollback/config/.saved_lti_password ~/.saved_lti_password 2>/dev/null
chmod 600 ~/.saved_lti_password 2>/dev/null
cp ~/lti-rollback/config/.cached_lti_license_key ~/.cached_lti_license_key 2>/dev/null
Bearbeiten Sie lti_analyzer/docker-compose.yml und tragen Sie die Werte wieder ein, die Sie vor dem Upgrade notiert haben (ADMIN_KEY, MCP_TOKEN, LTI_license_key, LTI_password, Perzentilfilter).
Wenn Sie ein Analyzer-Passwort hatten, wenden Sie es erneut auf Grafana und InfluxDB an (ersetzen Sie YOUR_PASSWORD):
GRAFANA_ID=$(docker ps --format "{{.ID}} {{.Image}}" | grep grafana | awk '{print $1}')
INFLUX_ID=$(docker ps --format "{{.ID}} {{.Image}}" | grep influxdb | awk '{print $1}')
docker exec -u root $GRAFANA_ID grafana-cli admin reset-admin-password YOUR_PASSWORD
docker exec $INFLUX_ID influx user password --name LatenceTech --password YOUR_PASSWORD --host http://localhost:8086
2e) Dienste neu starten
# Restart influx-writer to apply license key
docker stop lti_analyzer-influx-writer-1
docker start lti_analyzer-influx-writer-1
Wenn Sie ein Passwort wiederhergestellt haben, starten Sie alle Dienste neu:
docker compose -f lti_analyzer/docker-compose.yml up -d
Wenn Sie nur ADMIN_KEY oder MCP_TOKEN wiederhergestellt haben, starten Sie die MCP-Dienste neu:
docker compose -f lti_analyzer/docker-compose.yml restart latencetech_mcp chatbot_api
Analyzer prüfen, bevor Sie fortfahren
- Alle Analyzer-Container laufen (
docker ps). - Die Dashboards werden unter
http://YOUR_ANALYZER_HOST_IP:12021geladen. - Ihre historischen Daten werden angezeigt.
- Lizenzstatus und Ablaufdatum werden korrekt angezeigt.
Wenn eine dieser Prüfungen fehlschlägt, folgen Sie dem Rollback-Verfahren.
3) Reflector aktualisieren
Für den Reflector können Sie entweder das Aktualisierungsskript verwenden:
wget https://api.latence.ca/software/update_reflector.sh
bash update_reflector.sh
ODER Sie gehen manuell nach den folgenden Schritten vor:
docker stop lti_reflector && docker rm lti_reflector && docker rmi registry.latence.ca/software/reflector
Löschen Sie die alte Version der Installationsdatei:
rm lti_reflector.yml
Laden Sie anschließend die YAML-Datei hier erneut herunter und tragen Sie Ihren Lizenzschlüssel und Ihre ID ein:
wget https://api.latence.ca/software/lti_reflector.yml
Starten Sie den Reflector neu:
docker compose -f lti_reflector.yml up -d
Offline-Installation: Laden Sie Reflector_offline.zip herunter (wget https://api.latence.ca/software/Reflector_offline.zip) oder beziehen Sie die Datei vom USB-Stick, stoppen und entfernen Sie den alten Container wie oben beschrieben, entpacken Sie die Datei und führen Sie das Skript im Ordner mit bash aus. Das Skript erstellt das neue Image. Stellen Sie den Container anschließend bereit, indem Sie lti_reflector.yml wie in der Dokumentation beschrieben ausfüllen.
Reflector prüfen, bevor Sie fortfahren
docker compose -f lti_reflector.yml logs
Die Protokolle zeigen keine Fehler.
4) QoS Agents aktualisieren
Wir empfehlen, zunächst einen Agent zu aktualisieren, ihn zu prüfen und dann die übrigen zu aktualisieren.
Um den QoS Agent auf die neueste Version zu aktualisieren, müssen Sie die Images der laufenden Container mit folgendem Befehl stoppen und entfernen:
docker stop lti_qos-agent && docker rm lti_qos-agent && docker rmi registry.latence.ca/software/qos-agent
Löschen Sie die alte Version der Installationsdatei:
rm lti_qos-agent.yml
Laden Sie anschließend die YAML-Datei hier erneut herunter und tragen Sie Ihre Werte ein:
wget https://api.latence.ca/software/lti_qos-agent.yml
Wenn Sie ein zufälliges Analyzer-Passwort verwenden, setzen Sie LTI_SERVICE_KEY auf das Analyzer-Passwort. Um keinen Wert zu vergessen, vergleichen Sie die neue Datei mit Ihrer Sicherung:
diff ~/lti-rollback/lti_qos-agent.yml.pre-upgrade lti_qos-agent.yml
Führen Sie dann Folgendes aus, um die neuen Images herunterzuladen.
docker compose -f lti_qos-agent.yml up -d
Weitere Möglichkeiten, einen Agent zu aktualisieren:
- QoS Agent Management Dashboard: Wenn es auf dem Agent-Host installiert ist, verwenden Sie Docker Management > Update, um die neuesten Container-Images abzurufen und die Dienste neu zu starten.
- Offline-Installation: Laden Sie
Agent_offline.zipherunter (wget https://api.latence.ca/software/Agent_offline.zip) oder beziehen Sie die Datei vom USB-Stick, stoppen und entfernen Sie den alten Container wie oben beschrieben, entpacken Sie die Datei und führen Sie das Skript im Ordner mitbashaus. Das Skript erstellt das neue Image. Stellen Sie den Container anschließend bereit, indem Sielti_qos-agent.ymlwie in der Dokumentation beschrieben ausfüllen. - Cradlepoint- und SDK-Agents: Folgen Sie den Seiten Bereitstellung auf Cradlepoint und Bereitstellung des SDK QoS Agent.
QoS Agent prüfen
docker compose -f lti_qos-agent.yml logs
Die Protokolle zeigen keine Fehler, und die Daten des Agents erscheinen in den Dashboards unter seiner Agent-ID.
5) Abschließende Prüfung
- Alle Agents erscheinen in den Dashboards und senden Daten.
- Der Analyzer meldet den erwarteten Lizenzstatus.
- Behalten Sie
~/lti-rollback/auf jedem Host, bis das System einen vollständigen Zyklus lang normal gelaufen ist.
Wie läuft das Rollback ab, wenn das Upgrade fehlschlägt?
Sie sind dafür verantwortlich, ein Rollback-Verfahren bereitzuhalten. Wir empfehlen dringend, das System vor dem Upgrade gemäß Schritt 1 des Upgrade-Verfahrens zu sichern. Das folgende Verfahren stellt das System aus dieser Sicherung wieder her und muss in umgekehrter Reihenfolge zum Upgrade durchgeführt werden: QoS Agents, dann Reflector, dann Analyzer.
Jede Komponente kann einzeln zurückgesetzt werden:
- Wenn das Upgrade des Analyzer fehlschlägt, setzen Sie nur den Analyzer zurück (sonst wurde noch nichts aktualisiert).
- Wenn das Upgrade des Reflector fehlschlägt, setzen Sie nur den Reflector zurück.
- Wenn das Upgrade eines QoS Agent fehlschlägt, setzen Sie nur die betroffenen Agents zurück.
- Wenn Sie das gesamte Upgrade abbrechen möchten, setzen Sie in dieser Reihenfolge zurück: QoS Agents, Reflector, Analyzer.
Führen Sie während eines Rollbacks weder docker compose pull noch die Aktualisierungsskripte noch die Schaltfläche Update des QoS Agent Management Dashboard aus. Sie würden die neue Version erneut herunterladen.
Wenn das Aktualisierungsskript des Analyzer unterwegs fehlgeschlagen ist, führen Sie es nicht ein zweites Mal aus. Führen Sie zuerst das Rollback durch.
Voraussetzungen
- Der in Schritt 1 des Upgrade-Verfahrens erstellte Ordner
~/lti-rollback/auf jedem Host. Dieser Ordner unterscheidet sich von~/lti-backup/, der vom Aktualisierungsskript des Analyzer verwendet wird und nicht für das Rollback dient. - Die gesicherten Image-Archive (
images-pre-upgrade.tar,reflector-image.tar,qos-agent-image.tar).
1) Rollback der QoS Agents
Auf jedem Agent-Host im Verzeichnis, das lti_qos-agent.yml enthält:
# Remove the new version
docker stop lti_qos-agent && docker rm lti_qos-agent
docker rmi registry.latence.ca/software/qos-agent
# Restore the previous image and configuration file
docker load -i ~/lti-rollback/qos-agent-image.tar
cp ~/lti-rollback/lti_qos-agent.yml.pre-upgrade lti_qos-agent.yml
# Start the previous version without downloading anything
docker compose -f lti_qos-agent.yml up -d --pull never
Wenn das QoS Agent Management Dashboard installiert ist, können Sie über dessen Agent Configuration Editor auch eine frühere Konfigurationsversion wiederherstellen. Das Container-Image selbst muss weiterhin mit den obigen Befehlen wiederhergestellt werden.
2) Rollback des Reflector
Auf dem Reflector-Host im Verzeichnis, das lti_reflector.yml enthält:
# Remove the new version
docker stop lti_reflector && docker rm lti_reflector
docker rmi registry.latence.ca/software/reflector
# Restore the previous image and configuration file
docker load -i ~/lti-rollback/reflector-image.tar
cp ~/lti-rollback/lti_reflector.yml.pre-upgrade lti_reflector.yml
# Start the previous version without downloading anything
docker compose -f lti_reflector.yml up -d --pull never
3) Rollback des Analyzer
Die Sicherung enthält den gesamten Ordner lti_analyzer/ (Konfiguration, Grafana-Daten, MCP-Daten, Zertifikate) sowie die InfluxDB-Daten. Wenn das Aktualisierungsskript des Analyzer unterwegs fehlgeschlagen ist, hat es möglicherweise Kopien der Ordner mcp, certs und data in Ihrem Home-Verzeichnis hinterlassen. Diese sind bereits Teil der Sicherung und können nach erfolgreichem Rollback gelöscht werden.
Führen Sie die folgenden docker compose-Befehle als der Benutzer aus, der den Analyzer installiert hat, und zwar ohne sudo. Die Compose-Datei bindet ${HOME}/.cached_lti_license_key ein, und mit einem anderen Home-Verzeichnis würde Docker statt dieser Datei einen Ordner anlegen.
# Stop and remove the new version (skip the first command if the folder no longer exists)
docker compose -f ~/lti_analyzer/docker-compose.yml down
docker ps -a --filter name=lti_analyzer -q | xargs -r docker rm -f
sudo rm -rf ~/lti_analyzer ~/lti_analyzer.launch.log
# Restore the previous Analyzer folder (docker-compose.yml, Grafana data, mcp, certs, ...) and images
sudo tar -xf ~/lti-rollback/lti_analyzer-config.tar -C ~
docker load -i ~/lti-rollback/images-pre-upgrade.tar
# Restore the InfluxDB data saved before the upgrade
sudo tar -xf ~/lti-rollback/influxdb-data.tar.gz -C ~
# Restore home config files (before starting the Analyzer: the license key file is mounted into the API container)
cp ~/lti-rollback/config/.saved_lti_password ~/.saved_lti_password 2>/dev/null
chmod 600 ~/.saved_lti_password 2>/dev/null
cp ~/lti-rollback/config/.cached_lti_license_key ~/.cached_lti_license_key 2>/dev/null
# Start the previous version without downloading anything
docker compose -f ~/lti_analyzer/docker-compose.yml up -d --pull never
# Restart influx-writer to apply the license key
docker stop lti_analyzer-influx-writer-1
docker start lti_analyzer-influx-writer-1
Wenn Sie sich mit Ihrem bisherigen Analyzer-Passwort nicht anmelden können, wenden Sie es erneut auf Grafana und InfluxDB an (ersetzen Sie YOUR_PASSWORD):
GRAFANA_ID=$(docker ps --format "{{.ID}} {{.Image}}" | grep grafana | awk '{print $1}')
INFLUX_ID=$(docker ps --format "{{.ID}} {{.Image}}" | grep influxdb | awk '{print $1}')
docker exec -u root $GRAFANA_ID grafana-cli admin reset-admin-password YOUR_PASSWORD
docker exec $INFLUX_ID influx user password --name LatenceTech --password YOUR_PASSWORD --host http://localhost:8086
Wenn Sie die Container-Images nicht gesichert haben
Installieren Sie die vorherige Version mit derselben Methode wie bei der ursprünglichen Installation neu und stellen Sie dann Ihre Daten und Ihre Konfiguration aus ~/lti-rollback/ wieder her:
- Offline-Installationen: Verwenden Sie die vorherigen Dateien
Analyzer_offline.zip,Reflector_offline.zipundAgent_offline.zipund folgen Sie den Schritten 2c bis 2e des Offline-Upgrades des Analyzer. - Online-Installationen: Die Online-Skripte installieren immer die neueste Version. Wenden Sie sich an Ihren LatenceTech-Anbieter, um die vorherige Version zu erhalten.
Nach dem Rollback
- Öffnen Sie die Dashboards unter
http://YOUR_ANALYZER_HOST_IP:12021und prüfen Sie, ob die historischen Daten angezeigt werden und Ihre Dashboards und Benutzer vorhanden sind. - Prüfen Sie über die Dashboards und
docker compose -f lti_qos-agent.yml logs, ob jeder Agent Daten sendet. - Wenn Sie ein zufälliges Analyzer-Passwort verwenden, prüfen Sie, ob
LTI_SERVICE_KEYauf jedem Agent dem wiederhergestellten Passwort entspricht. - Messungen, die zwischen Upgrade und Rollback erfasst wurden, sind nicht Teil der wiederhergestellten Datenbank.
- Behalten Sie
~/lti-rollback/, bis das System einen vollständigen Zyklus lang normal gelaufen ist.
Wenn das Rollback kein funktionierendes System wiederherstellt, senden Sie Daten an den Support und eröffnen Sie ein Ticket beim LatenceTech-Supportteam.