Chapitre 20. Afficher et gérer des fichiers journaux

Les fichiers journaux sont des fichiers qui contiennent des messages sur le système, y compris sur le noyau, les services, et les applications qui sont exécutées dessus. Il existe plusieurs types de fichiers journaux permettant de stocker diverses informations. Par exemple, il existe un fichier journal système par défaut, un fichier journal pour les messages de sécurité uniquement, et un fichier journal pour les tâches cron.
Les fichiers journaux peuvent être très utiles dans de nombreuses situations, par exemple, pour résoudre un problème avec le système, lors des tentatives de charger un pilote de noyau, ou pour vérifier les tentatives de connexion non autorisées sur le système. Ce chapitre nous explique où trouver les fichiers de journalisation, comment les trouver et ce qu'il faut chercher à l'intérieur.
Certains fichiers journaux sont contrôlés par un démon nommé rsyslogd. Le démon rsyslogd est un remplacement amélioré de sysklogd, et fournit un filtrage étendu, une redirection de messages protégée par un cryptage, diverses options de configuration, des modules d'entrée et de sortie, et la prise en charge du transport via les protocoles TCP ou UDP. Notez que rsyslog est compatible avec sysklogd.
Les fichiers journaux peuvent également être gérés par le démon journald – un composant de systemd. Le démon journald capture les messages Syslog, les messages du journal du noyau, les messages du disque RAM initial et du début du démarrage, ainsi que les messages inscrits sur la sortie standard et la sortie d'erreur standard de tous les services, puis il les indexe et rend ceci disponibles à l'utilisateur. Le format du fichier journal natif, qui est un fichier binaire structuré et indexé, améliore les recherches et permet une opération plus rapide, celui-ci stocke également des informations de métadonnées, comme l'horodatage ou les ID d'utilisateurs. Les fichiers journaux produits par journald sont par défaut non persistants, les fichiers journaux sont uniquement stockés en mémoire ou dans une petite mémoire tampon en anneau dans le répertoire /run/log/journal/. La quantité de données journalisées dépend de la mémoire libre, lorsque la capacité limite est atteinte, les entrées les plus anciennes sont supprimées. Cependant, ce paramètre peut être altéré – veuillez consulter la Section 20.10.5, « Activer le stockage persistant ». Pour obtenir davantage d' informations sur le Journal, veuillez consulter la Section 20.10, « Utiliser le Journal ».
Par défaut, ces deux outils de journalisation coexistent sur votre système. Le démon journald est l'outil principal de résolution de problèmes. Il fournit également les données supplémentaires nécessaires à la création de messages journaux structurés. Les données acquises par journald sont transférées sur le socket /run/systemd/journal/syslog pouvant être utilisé par rsyslogd pour traiter davantage les données. Cependant, rsyslog effectue l'intégration par défaut via le module d'entrée imjournal, évitant ainsi le socket susmentionné. Il est également possible de transférer les données dans la direction opposée, depuis rsyslogd vers journald par le module omjournal. Veuillez consulter la Section 20.7, « Interaction de Rsyslog et de Journal » pour obtenir des informations supplémentaires. L'intégration permet de maintenir des journaux basés texte sous un format cohérent afin d'assurer la compatibilité avec de possibles applications ou configurations dépendants de rsyslogd. Vous pouvez également maintenir les messages rsyslog sous un format structuré (veuillez consulter la Section 20.8, « Journalisation structurée avec Rsyslog »).

20.1. Localiser les fichiers journaux

On peut trouver une liste de fichiers de journalisation maintenue par rsyslogd dans le fichier de configuration /etc/rsyslog.conf. La plupart des fichiers journaux se trouvent dans le répertoire /var/log/. Certaines applications, comme httpd et samba, peuvent avoir un répertoire dans /var/log/ pour leurs fichiers journaux.
Vous remarquerez peut-être de multiples fichiers dans le répertoire /var/log/ suivis par des chiffres (par exemple, cron-20100906). Ces chiffres représentent un horodatage ajouté à un fichier journal rotatif. Les fichiers journaux sont en rotation afin que leur taille ne devienne pas trop importante. Le paquet logrotate contient une tâche faisant pivoter les fichiers journaux automatiquement, en fonction du fichier de configuration /etc/logrotate.conf et des fichiers de configuration situés dans le répertoire /etc/logrotate.d/.