Zum Inhalt

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_id ist 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:

  1. Analyzer
  2. Reflector
  3. 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_password gespeichert und auf Ihren QoS Agents als LTI_SERVICE_KEY festgelegt.
  • Notieren Sie die folgenden Werte aus lti_analyzer/docker-compose.yml: ADMIN_KEY, MCP_TOKEN, LTI_license_key, LTI_password sowie LTI_PERCENTILE_FILTER oder LTI_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_password nicht existiert). Antworten Sie mit false, um Ihr aktuelles Passwort zu behalten. Wenn Sie mit true antworten, wird ein neues zufälliges Passwort erzeugt und angewendet, und Sie müssen es auf jedem QoS Agent als LTI_SERVICE_KEY festlegen, 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 mit wget https://api.latence.ca/software/Analyzer_offline.zip heruntergeladen oder auf einem USB-Stick von LatenceTech bezogen werden.
  • Führen Sie alle Befehle in dem Verzeichnis aus, das sowohl lti_analyzer/ als auch Analyzer_offline.zip enthält. In diesem Beispiel liegt lti_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:12021 geladen.
  • 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.zip herunter (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 mit bash aus. Das Skript erstellt das neue Image. Stellen Sie den Container anschließend bereit, indem Sie lti_qos-agent.yml wie 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.zip und Agent_offline.zip und 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:12021 und 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_KEY auf 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.