Où Discourse stocke-t-il et affiche-t-il les journaux ?

Lorsque vous dépanner des problèmes ou des erreurs avec Discourse, il est important de consulter vos journaux (logs). Voici une liste de leur emplacement et de leur contenu.

Domaine de votre site

Journaux d’administration affichés dans l’interface utilisateur

Le panneau d’administration de Discourse contient plusieurs formes de journalisation :

L’interface utilisateur web de Logster

Chaque instance de Discourse est livrée avec une visionneuse de journaux graphique (GUI). Elle est située à : https://=DOMAIN=/logs

Remarque : si vous êtes sur un forfait hébergé, cette page peut vous être masquée. Contactez plutôt le support lorsque vous rencontrez ce type de problème !

Si vous enquêtez sur une mystérieuse erreur 500 sur les forums, vous devriez toujours essayer cet endroit en premier !

Sélectionnez une ligne d’erreur pour obtenir des détails à son sujet. Il pourrait vous être demandé de fournir le contenu des onglets env et backtrace ici sur Meta.

Les journaux Rails / Pitchfork

Ruby on Rails contient un journal très verbeux qui est écrit sur le disque. De plus, le serveur web pitchfork (un fork de unicorn) écrit également sur le disque.

Pour y accéder :

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

Ce dossier contient “production.log” et “unicorn.stderr.log” en plus des fichiers journaux “rotatifs” (rotated). Vous pouvez utiliser des outils Unix standard tels que less production.log pour les inspecter.

Ce dossier est également disponible sans entrer dans le conteneur à l’adresse /var/discourse/shared/standalone/log/rails.

Les journaux NGINX

Occasionnellement, les journaux NGINX peuvent contenir quelques astuces supplémentaires ; ils sont situés à :

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

Les fichiers access.log et error.log s’y trouveront, ainsi qu’un certain nombre de fichiers compressés et archivés. L’exécution de less access.log.2.gz décompressera et affichera automatiquement le fichier journal pour vous.

Ce répertoire est également disponible sur l’hôte à l’adresse /var/discourse/shared/standalone/log/var-log/nginx.

Journaux Redis

Bien qu’il soit très rare de devoir consulter les journaux Redis, si vous en avez besoin, ils se trouvent dans /var/log/redis à l’intérieur du conteneur et dans /var/discourse/shared/standalone/log/var-log/redis sur l’hôte. Les entrées de journal les plus récentes se trouvent dans le fichier current de ce répertoire.

Journaux PostgreSQL

Si vous avez besoin de consulter les journaux du serveur de base de données, ils se trouvent dans /var/log/postgres à l’intérieur du conteneur et dans /var/discourse/shared/standalone/log/var-log/postgres sur l’hôte ; les entrées les plus récentes se trouvent dans le fichier current de ce répertoire.

46 « J'aime »

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

2 « J'aime »

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 « J'aime »

I don’t have a postgres folder in /var/log/postgres or /var/discourse/shared/standalone/log/var-log/postgres. Is there some configuration I need to make to generate DB logs?

1 « J'aime »

If You’re using a 2 container install or external postgres, then the logs will not be there.

For 2 container install, the logs should be in the
/var/discourse/shared/data/log/var-log/postgres

For external postgres, your logs should be with the managed db provider.

4 « J'aime »

Lorsqu’un plugin provoque une défaillance lors d’une reconstruction, où se trouvent les journaux qui affichent l’erreur spécifique dans le plugin ?

1 « J'aime »

Ils résident dans la fenêtre de terminal où vous avez exécuté la reconstruction. Si votre terminal n’a pas assez de défilement, vous devrez faire attention pendant la reconstruction (ou chercher comment augmenter le défilement, ou rediriger la sortie vers un endroit où vous pourrez la retrouver plus tard).

1 « J'aime »

Le placeholder ne semble pas fonctionner dans la liste

1 « J'aime »

J’essaie de déterminer lesquels de ces journaux contiennent des données personnelles et combien de temps ils sont conservés. Il semble que :

  • Les journaux d’e-mails sont conservés 90 jours par défaut
  • Les journaux Rails contiennent des adresses IP et sont pivotés après 7 jours (d’après \* logrotate.d )
  • Pour NGINX, la même chose s’applique
  • Les journaux du personnel/de filtrage peuvent contenir des données personnelles et sont conservés indéfiniment

Est-ce que je manque quelque chose ici ?

Les journaux d’erreurs (discourse.example.com/logs) peuvent-ils également contenir des données personnelles, si oui, sont-ils pivotés ?
Les journaux de conteneur peuvent-ils contenir des informations personnelles ? (c’est-à-dire \./launcher logs app\\ etc.) Je suppose que ceux-ci doivent être configurés manuellement via docker pour être pivotés.