Wo speichert und zeigt Discourse Logs an?

Wenn Sie Probleme oder Fehler mit Discourse beheben, ist es wichtig, sich die Protokolle anzusehen. Hier finden Sie eine Auflistung, wo sich diese befinden und was sie enthalten.

Ihre Seiten-Domain

Verwaltungs-Logs, die in der UI angezeigt werden

Das Discourse-Admin-Panel enthält verschiedene Arten von Protokollen:

Die Logster Web-UI

Jede Discourse-Instanz wird mit einer GUI-Protokollanzeige ausgeliefert. Sie befindet sich unter: https://=DOMAIN=/logs

Hinweis: Wenn Sie einen gehosteten Plan nutzen, kann diese Seite für Sie ausgeblendet sein. Kontaktieren Sie stattdessen den Support, wenn Sie diese Art von Problem haben!

Wenn Sie einen mysteriösen 500er-Fehler im Forum untersuchen, sollten Sie immer zuerst hier nachsehen!

Wählen Sie eine Fehlerzeile aus, um Details dazu zu erhalten. Sie werden möglicherweise gebeten, den Inhalt der Tabs env und backtrace hier im Meta zu teilen.

Die Rails / Pitchfork Logs

Ruby on Rails enthält ein sehr ausführliches Protokoll, das auf die Festplatte geschrieben wird. Zusätzlich protokolliert der Webserver pitchfork (ein Fork von unicorn) ebenfalls auf die Festplatte.

Zum Zugriff:

cd /var/discourse
./launcher enter app
cd /shared/log/rails

Dieser Ordner enthält “production.log” und “unicorn.stderr.log” zusätzlich zu “rotierten” Log-Dateien. Sie können Standard-Unix-Tools wie less production.log verwenden, um sie zu überprüfen.

Dieser Ordner ist auch ohne Betreten des Containers unter /var/discourse/shared/standalone/log/rails verfügbar.

Die NGINX Logs

Gelegentlich können NGINX-Logs zusätzliche Hinweise enthalten. Sie befinden sich unter:

cd /var/discourse
./launcher enter app
cd /var/log/nginx

Die Dateien access.log und error.log befinden sich dort, ebenso wie eine Reihe von rotierten komprimierten Dateien. Wenn Sie less access.log.2.gz ausführen, wird die Log-Datei automatisch dekomprimiert und angezeigt.

Dieses Verzeichnis ist auch auf dem Host unter /var/discourse/shared/standalone/log/var-log/nginx verfügbar.

Redis Logs

Obwohl es sehr ungewöhnlich ist, Redis-Logs einsehen zu müssen, werden sie, falls Sie sie benötigen, unter /var/log/redis innerhalb des Containers und unter /var/discourse/shared/standalone/log/var-log/redis auf dem Host gespeichert. Die neuesten Log-Einträge befinden sich in der Datei current in diesem Verzeichnis.

PostgreSQL Logs

Wenn Sie die Protokolle des Datenbankservers einsehen müssen, befinden sie sich unter /var/log/postgres innerhalb des Containers und unter /var/discourse/shared/standalone/log/var-log/postgres auf dem Host; die neuesten Einträge befinden sich in der Datei current in diesem Verzeichnis.

46 „Gefällt mir“

Is there any option/console in admin ui to run these command and get logs in web? I do not see any option.

2 „Gefällt mir“

I have also found this log to be useful:

./launcher logs app

This shows any errors during the build process if you don’t know which app to look at.

7 „Gefällt mir“

Ich habe keinen postgres-Ordner in /var/log/postgres oder /var/discourse/shared/standalone/log/var-log/postgres. Muss ich eine Konfiguration vornehmen, um Datenbank-Logs zu generieren?

1 „Gefällt mir“

Wenn Sie eine 2-Container-Installation oder eine externe PostgreSQL-Datenbank verwenden, sind die Protokolle dort nicht vorhanden.

Bei einer 2-Container-Installation sollten die Protokolle unter
/var/discourse/shared/data/log/var-log/postgres
zu finden sein.

Bei einer externen PostgreSQL-Datenbank sollten sich die Protokolle beim verwalteten Datenbankanbieter befinden.

4 „Gefällt mir“

Wenn ein Plugin während eines Rebuilds einen Fehler verursacht, wo befinden sich die Protokolle, die den spezifischen Fehler im Plugin anzeigen?

1 „Gefällt mir“

Sie leben im Terminalfenster, in dem Sie den Wiederaufbau ausgeführt haben. Wenn Sie nicht genügend Scrollback in Ihrem Terminal haben, müssen Sie während des Wiederaufbaus aufpassen (oder googeln, um herauszufinden, wie Sie das Rollback erhöhen oder die Ausgabe irgendwohin umleiten, wo Sie sie später finden können).

1 „Gefällt mir“

Der Platzhalter scheint in der Liste nicht zu funktionieren.

1 „Gefällt mir“

Ich versuche herauszufinden, welche dieser Protokolle personenbezogene Daten enthalten und wie lange sie aufbewahrt werden. Es scheint:

  • E-Mail-Protokolle werden standardmäßig 90 Tage aufbewahrt
  • Rails-Protokolle enthalten IPs und werden nach 7 Tagen rotiert (von \* logrotate.d )
  • Für NGINX gilt dasselbe
  • Personal-/Screening-Protokolle können personenbezogene Daten enthalten und werden auf unbestimmte Zeit aufbewahrt

Fehlt mir hier etwas?

Können die Fehlerprotokolle (discourse.example.com/logs) auch personenbezogene Daten enthalten? Wenn ja, werden sie rotiert?
Können Container-Protokolle personenbezogene Daten enthalten? (d. h. \\./launcher logs app\` usw.) Ich vermute, diese müssen manuell über Docker zur Rotation konfiguriert werden.