Localiser et analyser avec précision les journaux d’événements système à des fins de dépannage.
Architecture de journalisation
Architecture de journalisation utilisée par Linux pour enregistrer des événements.
- Répertoire
/var/log
: héberge les fichiers syslog lisibles par l’utilisateur - Fichier
/var/log/boot.log
: stocke les messages de console liés au démarrage du système - Fichier
/var/log/messages
: stocke la plupart des messages syslog, (sauf ceux d’authentification, mails, cron et au débogage) - Fichier
/var/log/maillog
: stocke les messages syslog liés au serveur de messagerie - Fichier
/var/log/secure
: stocke les messages syslog liés aux opérations de sécurité et d’authentification dans le système - Fichier
/var/log/cron
: stocke les messages syslog liés aux tâches planifiées - Service
rsyslog
: trie et organise les messages syslog en fichiers dans le répertoire/var/log
Examen des entrées du journal système
Rechercher dans les journaux système des entrées pour enregistrer des événements en fonction de différents critères.
Afficher les événements provenant du processus ayant le PID=1 :
# journalctl _PID=1 |
[...] |
Afficher les événements provenant du processus ayant le PID=81 :
# journalctl _UID=81 |
Nov 01 17:03:40 Redhat1-Test6 dbus-broker-lau[863]: Ready |
Afficher les événements ayant une priorité warning
. Les priorités possibles sont : emerg|alert|crit|err|warning|notice|info|debug :
# journalctl -p warning |
[...] |
# journalctl -p crit |
Nov 01 17:03:45 Redhat1-Test6 kernel: Warning: Unmaintained driver is detected: ip_set |
Afficher les événements enregistrés au cours des 20 dernières minutes :
# journalctl --since "-20min" |
Nov 05 10:01:01 Redhat1-Test6 run-parts[10414]: (/etc/cron.hourly) starting 0anacron |
Afficher les événements enregistrés du service sshd depuis 10h :
# journalctl --since 10:00:00 _SYSTEMD_UNIT="sshd.service" |
Nov 05 10:20:59 Redhat1-Test6 sshd[9874]: Accepted password for root from 192.168.1.105 port 41552 ssh2 |
Conservation du journal système après un redémarrage
Configurer les journaux système pour conserver ses données après un redémarrage.
Fichiers et services :
/var/log/journal/
systemd-journald
Le répertoire /var/log/journal/
permet à systemd-journald
de journaliser les données après un redémarrage. S’il n’existe pas, les logs de démmarrages ne sont pas conservées.
Création du répertoire :
# mkdir /var/log/journal |
Configuration du storage
en persistent dans /etc/systed.d/journald.conf
:
# cat /etc/systemd/journald.conf |
[...] |
Relancer le service :
# systemctl restart systemd-journald.service |
Après un reboot, les journaux seront conservés.
# journalctl -b 1 // Affiche les logs à partir du 1er démarrage du système |
Journaux customisés
Création d’un fichier de configuration dans le répertoire /etc/rsyslog.d/
.
Fichiers et services :
/var/log/my_messages-debug
: cible, sera automatiquement créée/etc/rsyslog.d/my_debug.conf
: configuration de type*.<priorité> /le/fichier/cible
rsyslog
Les logs de type *.debug
seront envoyé dans un nouveau fichier /var/log/my_messages-debug
:
# vim /etc/rsyslog.d/my_debug.conf |
*.debug /var/log/my_messages-debug |
Restart de rsyslog
:
# systemctl restart rsyslog.service |
⚠️ Test de logs en debug :
# logger -p user.debug "Test de ciblage de logs dans un fichier" |
Vérification :
# tail -n5 /var/log/my_messages-debug |
Pour voir la et s’inspirer de la syntaxe :
# cat /etc/rsyslog.conf |
Synchronisation de l’horloge avec NTP
Maintenir une synchronisation précise de l’horloge à l’aide du protocole NTP (Network Time Protocol), et configurer le fuseau horaire pour garantir des horodatages corrects pour les événements enregistrés par les journaux système et les journaux.
Sélectionne un fuseau horaire de façon temporaire :
# tzselect |
Change le fuseau horaire du système de façon permanente :
# timedatectl set-timezone Europe/Paris |
Vérification :
# timedatectl |
# vim /etc/chrony.conf |
# Use public servers from the pool.ntp.org project. |
Vérification :
# chronyc sources -v |
Documentation
Internet
MAN