Parcourez-moi à travers les fichiers journaux Linux (s'il vous plaît)


11

J'ai juste essayé de charger un fichier de 2 Mo dans gedit et il mourut silencieusement. Je me demandais si quelque chose pouvait apparaître dans un fichier journal qui pourrait m'aider à diagnostiquer ceci: j'ai vérifié sysloget découvert qu'il était défectueux. Ce faisant, je me suis rendu compte que je ne savais rien sur l'organisation de la journalisation sur les machines * nix.

Tout ce que je sais au moment est

  1. Les journaux sont généralement stockés dans /var/log/... y a-t-il un autre endroit que je devrais connaître?

  2. Je connais les journaux spécifiques aux applications, tels que ceux d'Apache.

  3. Je comprends que dmesgc'est le journal de démarrage, et syslogest un journal système général ... est-ce vrai? Edit: Bobby dit que dmesgc'est aussi un usage général ... quelle est la différence entre les deux?

Alors, quelqu'un voudrait-il me faire parcourir les journaux les plus utiles? Les deux journaux que je mentionne au point final sont-ils les seuls journaux généraux ? Et quels sont les numéros géniaux au début des lignes dmesg? Secondes depuis le démarrage?

Veuillez inclure dans vos réponses tout élément qui, selon vous, améliorerait ma compréhension et m'aiderait à détecter les anomalies!

TIA

Andy


dmesgou /var/log/messagesest un journal de messages général, pas seulement pour le démarrage. De plus, le démarrage d'une application à partir du terminal peut aider à déboguer un problème.
Bobby

Oui, j'ai remarqué que si je démarre les choses via la ligne de commande, je reçois souvent des vomissements d'application qui reviennent. Si je démarre le même programme via un lanceur graphique, ce texte est-il perdu? Est-il considéré comme une bonne pratique pour une application graphique d'envoyer des messages stdout?
Andy

Si vous démarrez un programme graphiquement, stdout et stderr seront connectés à nulle part (ou / dev / null, d'ailleurs), ce qui signifie que tous les messages seront perdus. Si vous en avez besoin, commencez à partir de la ligne de commande ou redirigez la sortie vers un fichier en définissant la commande dans le fichier .desktop sur quelque chose comme ceci: "some_command &> some_logfile".
petersohn

La vraie question est de savoir si j'en ai besoin ou non! La plupart des programmes laissent-ils une sortie plus utile dans les journaux? Les utilisateurs avancés de Linux utilisent-ils généralement le stdoutpour aider à diagnostiquer les problèmes de logiciels (pas les leurs)? (En gros, je sais comment saisir le stdout, mais pas à quel point la sortie peut être utile ...)
Andy

Je ne lance des applications à partir du terminal que si j'ai des problèmes avec celui-ci (récupération de certaines informations de débogage et messages d'erreur qui auraient pu être avalés par l'interface graphique). Et oui, c'est une bonne pratique et c'est le comportement standard de toutes les applications sous Linux.
Bobby

Réponses:



12

Un grand merci à Pulse pour avoir recommandé https://help.ubuntu.com/community/LinuxLogFiles . J'ai coupé quelques bits et laissé de côté comment utiliser syslogdet d'autres commandes essentielles, pour laisser ce petit guide pour référence future. Cela vient d'un site Ubuntu et je ne sais pas combien il en reste pour d'autres distributions.

Journaux système

Les journaux système traitent principalement du fonctionnement du système Ubuntu, pas nécessairement des applications supplémentaires ajoutées par les utilisateurs. Les exemples incluent les mécanismes d'autorisation, les démons système, les messages système et le journal système englobant lui-même, syslog.

Journal d'autorisation: /var/log/auth.log

Le journal d'autorisation suit l'utilisation des systèmes d'autorisation, les mécanismes d'autorisation des utilisateurs qui demandent des mots de passe utilisateur, tels que le système PAM (Pluggable Authentication Module), la sudocommande, les connexions à distance sshd, etc.

Journal du démon: /var/log/daemon.log

Le journal du démon contient des informations sur l'exécution des démons système et d'application tels que le démon Gnome Display Manager gdm, le démon Bluetooth HCI hcidou le démon de base de données MySQL mysqld.

Journal de débogage: /var/log/debug

Le journal de débogage fournit des messages de débogage détaillés du système Ubuntu et des applications qui se connectent syslogdau niveau DEBUG.

Journal du noyau: /var/log/kern.log

Le journal du noyau fournit un journal détaillé des messages du noyau Ubuntu Linux. Ces messages peuvent s'avérer utiles pour dépanner un noyau nouveau ou personnalisé, par exemple.

Tampon d'anneau du noyau: dmesg

Le tampon d'anneau du noyau n'est pas vraiment un fichier journal en soi, mais plutôt une zone dans le noyau en cours d'exécution que vous pouvez interroger pour les messages de démarrage du noyau via l' dmesgutilitaire. Pour voir les messages, utilisez ceci:

dmesg | less

Par défaut, le script d'initialisation du système /etc/init.d/bootmisc.shenvoie également tous les messages de démarrage au fichier /var/log/dmesg.

Journal des messages: /var/log/messages

Le journal des messages contient des messages d'informations provenant des applications et des installations du système. Ce journal est utile pour examiner la sortie des messages des applications et les installations système qui se connectent au syslog/ sysklogdémon au niveau INFO.

Journal du système: /var/log/syslog

Le journal système contient généralement la plupart des informations par défaut sur votre système Ubuntu. Il peut contenir des informations que les autres journaux ne contiennent pas. Consultez le journal système lorsque vous ne trouvez pas les informations de journal souhaitées dans un autre journal.

Journaux d'application

De nombreuses applications créent également des connexions /var/log. Si vous répertoriez le contenu de votre /var/logsous-répertoire, vous verrez des noms familiers, tels que /var/log/apache2représenter les journaux du serveur Web Apache 2, ou /var/log/samba, qui contient les journaux du serveur Samba.

Journaux du serveur HTTP Apache: /var/log/apache2

L'installation par défaut pour Apache2 sur Ubuntu crée un sous-répertoire de journaux. Ce sous-répertoire contient deux fichiers journaux avec deux objectifs distincts:

  • /var/log/apache2/access.log - enregistrements de chaque page servie et de chaque fichier chargé par le serveur web.
  • /var/log/apache2/error.log - enregistrements de toutes les conditions d'erreur signalées par le serveur HTTP

Journaux système d'impression CUPS: /var/log/cups/error_log

Le système d'impression Common Unix (CUPS) utilise le fichier journal par défaut /var/log/cups/error_logpour stocker les messages d'information et d'erreur.

Journal du chasseur de rootkits: /var/log/rkhunter.log

L'utilitaire Rootkit Hunter ( rkhunter) vérifie les portes dérobées, les renifleurs et les rootkits de votre système Ubuntu, qui sont tous des signes de compromis de votre système.

Journaux du serveur Samba SMB: /var/log/samba

Le serveur Server Message Block Protocol (SMB), Samba est couramment utilisé pour partager des fichiers entre votre ordinateur Ubuntu et d'autres ordinateurs qui prennent en charge le protocole SMB. Samba conserve trois types distincts de journaux dans le sous-répertoire:

  • log.nmbd - messages liés à la fonctionnalité NETBIOS sur IP de Samba (le truc du réseau)
  • log.smbd - messages liés à la fonctionnalité SMB / CIFS de Samba (le partage de fichiers et d'imprimantes)
  • log.[IP_ADDRESS] - messages liés aux demandes de services à partir de l'adresse IP contenue dans le nom du fichier journal.

Journal du serveur X11: /var/log/Xorg.0.log

Le serveur de fenêtrage X11 par défaut utilisé avec Ubuntu est le serveur Xorg X11. Ce journal est utile pour diagnostiquer les problèmes avec votre environnement X11.

Journaux non lisibles par l'homme

Certains fichiers journaux trouvés dans le /var/logsous-répertoire sont conçus pour être lisibles par les applications, pas nécessairement par les humains. Quelques exemples suivent.

Journal des échecs de connexion: faillog

Le journal des échecs de connexion situé dans /var/log/faillogest réellement conçu pour être analysé et affiché par la faillogcommande.

Dernier journal de connexion: lastlog

Les dernières connexions à la connexion /var/log/lastlogne doivent généralement pas être analysées et examinées par les humains, mais doivent plutôt être utilisées conjointement avec la lastlogcommande.

Journal des enregistrements de connexion: who

Le fichier /var/log/wtmpcontient des enregistrements de connexion, mais contrairement à ce qui /var/log/lastlogprécède, il /var/log/wtmpn'est pas utilisé pour afficher une liste des connexions récentes, mais est plutôt utilisé par d'autres utilitaires tels que la whocommande pour présenter une liste des utilisateurs actuellement connectés.


1

syslog (ou plutôt syslog.d) est un système de journalisation, qui est responsable de l'écriture de la plupart des journaux /var/log. Il existe d'autres projets similaires, comme syslog-ng

system.log est juste un fichier spécifiquement nommé que Syslog écrit sur


Merci pour la réponse: j'étais plus intéressé par une image globale de la journalisation Linux. Mon exemple avec syslog n'était qu'un préambule pour expliquer comment j'en suis arrivé à cette question générale.
Andy

0

Vous ne dites pas où vous êtes basé, mais Linux Format avait un article dans le numéro 132 couvrant les fichiers journaux. Vous devrez soit trouver quelqu'un avec une copie ou acheter un ancien numéro pour le récupérer.


Je suis basé au Royaume-Uni, mais j'espère toujours pouvoir obtenir les informations sans dépenser d'argent (:
Andy

2
J'apprends toujours Linux et j'ai trouvé que c'était une page d'informations utile help.ubuntu.com/community/LinuxLogFiles
Pulse

C'est juste ce que je cherchais!
Andy
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.