Skip to main content
Diese Seite richtet sich an Administratoren, vorzugsweise mit Shell-Zugang auf dem Server, auf dem VARIOS AI als Docker-Installation läuft. Sie beschreibt, wo welche Logs liegen und mit welchen Befehlen Sie eine Störung eingrenzen.
Alle Befehle auf dieser Seite laufen im Installationsverzeichnis, also dort, wo docker-compose.yml und .env liegen. Die Installationsanleitung empfiehlt dafür /docker/variosai, und die Beispiele auf dieser Seite verwenden diesen Pfad. Ihre Installation kann jedoch an einer anderen Stelle liegen. Setzen Sie in diesem Fall überall Ihren eigenen Pfad ein. Docker-Befehle erfordern in der Regel sudo oder eine Mitgliedschaft in der Gruppe docker.

Standardprüfungen zuerst

Läuft die Installation auf der aktuellen Version und ist der Fehler bereits behoben?

Unter Administration → Einstellungen → Systeminformationen zeigt System-Stand, ob ein Update verfügbar ist. Dort steht auch Ihr ausgewählter Release-Kanal. Prüfen Sie im Changelog die Abschnitte Bugfixes und Verbesserungen aller Versionen zwischen Ihrer installierten und der aktuellen Version. Achten Sie dabei auf Einträge, die zusätzlich zum Update eine manuelle Anpassung verlangen: Solche Hinweise stehen im Changelog-Eintrag selbst.
Erstellen Sie vor jedem Update einen Snapshot der virtuellen Maschine, siehe Backup und Wiederherstellung. Ein Update ist ohne Snapshot nicht zurückzunehmen.

System-Log prüfen

Administration → Logs zeigt System-, Sicherheits- und SCIM-Logs, ohne dass Sie sich auf dem Server anmelden müssen. Das System.log ist die erste Anlaufstelle für die Fehleranalyse.

Docker-Logs prüfen

Die Docker-Logs enthalten alles, was die Container melden.
Welche Logs es darüber hinaus gibt und wo sie liegen, steht weiter unten unter Wo welche Logs liegen.

Störung eingrenzen

Diese Angaben entscheiden, wo Sie suchen, und der Support fragt sie ohnehin ab.
Stellen Sie den Fehler mit einem eigenen Testkonto nach und lesen Sie dabei sudo tail -f Data/Logs/System.log mit. So sehen Sie die Einträge, die zu genau diesem Vorgang gehören, statt in der Historie zu suchen.

Grundregeln für Eingriffe auf dem Server

  • Snapshot vor Eingriffen, die Konfiguration, Datenbank oder Dateien verändern.
  • Eine Änderung nach der anderen und jeweils nachsehen, ob sie gewirkt hat. Mehrere Änderungen gleichzeitig machen das Ergebnis unbrauchbar.
  • Log-Dateien nie bearbeiten oder löschen. Die Audit-, Auth-, SCIM-, DLP- und Konnektor-Logs sind mit Prüfsummen gesichert und verweigern nach einer Änderung weitere Schreibvorgänge.
  • Die .env nie weitergeben. Sie enthält Datenbankpasswort, Client-Secret und API-Token.
  • Serverzeit prüfen (timedatectl status). Eine abweichende Uhrzeit führt zu abgelehnten Anmeldetoken und fehlschlagenden Zertifikatsprüfungen.
  • Supportzugang nur bei Bedarf aktivieren und danach wieder deaktivieren, siehe Systeminformationen.

Diagnose nach Auswertung des System-Logs

Arbeiten Sie diese Befehle der Reihe nach ab. In den meisten Fällen zeigt bereits einer davon die Ursache.

Die Spalte STATUS richtig lesen

Den Exit-Code eines bereits beendeten Containers liefert docker inspect --format '{{.State.ExitCode}} {{.State.Error}}' $(docker compose ps -aq php).

Wo welche Logs liegen

VARIOS AI schreibt an drei Stellen: in die Container-Logs von Docker, in Dateien unterhalb des Installationsverzeichnisses und, wenn konfiguriert, an ein Syslog-Ziel.

Container-Logs

Alles, was die Dienste nach stdout und stderr schreiben, liegt im Docker-Log.
Container-Logs überleben einen Neustart des Containers, nicht aber ein docker compose down, ein Neuanlegen des Containers oder ein docker system prune. Der Update-Helfer varios.sh führt nach jedem Update ein docker system prune -f -a --volumes aus. Sichern Sie Logs vor einem Update, wenn Sie einen Fehler noch untersuchen wollen.

Anwendungs-Logs im Dateisystem

Diese Dateien liegen auf dem Host unter ./Data/Logs und im Container unter /data/Data/Logs. Sie sind die wichtigste Quelle für alles, was innerhalb der Anwendung passiert, und überleben Container-Neustarts und Updates. Verschaffen Sie sich mit ls einen Überblick über die tatsächlich vorhandenen Dateien, statt einen Dateinamen zu raten:
Eine Meldung in System.log nennt in der Regel den Dateinamen des passenden Stacktraces. So kommen Sie von der Meldung zur vollständigen Ausnahme:
Steht LOG_OUTPUT in der .env auf syslog, schreibt VARIOS AI keine Log-Dateien mehr, sondern ausschließlich an das unter LOG_SYSLOG_HOST und LOG_SYSLOG_PORT konfigurierte Ziel. Für eine lokale Fehlersuche setzen Sie LOG_OUTPUT=both und starten den php-Dienst neu.

Anwendung neu aufsetzen

Führen Sie im Installationsverzeichnis folgenden Befehl aus, um Caches zu leeren und neu aufzubauen, Migrationen auszuführen und alle Prozesse neu zu starten:
Der Befehl startet alle Prozesse im php-Container neu. VARIOS AI ist währenddessen kurz nicht erreichbar.