Comment afficher et configurer les journaux Linux sur Ubuntu, Debian et CentOS

Comment afficher et configurer les journaux Linux sur Ubuntu, Debian et CentOS

Introduction

La journalisation est un aspect crucial de l’administration des systèmes Linux. Les journaux fournissent des informations précieuses sur les événements du système, les erreurs et les activités des utilisateurs. En analysant les journaux, les administrateurs système peuvent déboguer les problèmes, suivre l’activité du système et détecter les menaces de sécurité potentielles.

Dans ce guide complet, nous explorerons les différentes méthodes permettant d’afficher et de configurer les journaux Linux sur trois distributions populaires : Ubuntu, Debian et CentOS. Nous aborderons les outils de journalisation natifs, les options de journalisation centralisée et les meilleures pratiques pour une gestion efficace des journaux.

Afficher les journaux Linux

Utiliser la commande journalctl

journalctl est un outil polyvalent utilisé pour afficher les journaux du système sur les distributions Ubuntu et Debian. Il fournit une interface unifiée pour accéder aux journaux de différentes sources, notamment :

– Journaux du noyau (messages)
– Journaux du système (syslog)
– Journaux d’applications (journald)

Pour afficher tous les journaux, exécutez la commande suivante :


journalctl

Vous pouvez filtrer les journaux en fonction du niveau de gravité, de la source ou de la période :

– Filtrer par niveau de gravité :

journalctl -p <niveau>

– Filtrer par source :

journalctl -t <source>

– Filtrer par période :

journalctl --since <timestamp>

Utiliser la commande dmesg

La commande dmesg affiche les messages du noyau, qui incluent les erreurs de démarrage et les événements matériels. Pour afficher les messages du noyau, exécutez :


dmesg

Configurer les journaux Linux

Durée de conservation des journaux

La durée de conservation des journaux détermine la période pendant laquelle les journaux sont conservés avant d’être supprimés. Pour modifier la durée de conservation des journaux sur Ubuntu et Debian, éditez le fichier /etc/logrotate.conf :


sudo nano /etc/logrotate.conf

Ajoutez ou modifiez les lignes suivantes :


/var/log/syslog {
rotate 4
weekly
missingok
compress
delaycompress
notifempty
create 0640 root root
}

/var/log/kern.log {
rotate 4
weekly
missingok
compress
delaycompress
notifempty
create 0640 root root
}

Cela configurera les journaux système et du noyau pour qu’ils soient conservés pendant 4 semaines.

Niveau de gravité des journaux

Le niveau de gravité des journaux détermine le niveau d’événements enregistrés dans les journaux. Vous pouvez modifier le niveau de gravité des journaux pour les journaux système et du noyau en modifiant les fichiers de configuration suivants :

– Journaux système : /etc/rsyslog.conf
– Journaux du noyau : /etc/syslog.conf

Ouvrez le fichier de configuration approprié à l’aide de Nano :


sudo nano /etc/rsyslog.conf

Et ajoutez ou modifiez la ligne suivante :

Niveau de gravité souhaité

. /var/log/syslog

Remplacez <niveau souhaité> par le niveau de gravité souhaité, tel que error, warning ou info.

Journalisation centralisée

La journalisation centralisée implique de collecter et de stocker les journaux de plusieurs systèmes sur un serveur central. Cela permet une surveillance et une analyse centralisées des journaux, améliorant ainsi la détection des problèmes et la sécurité.

Syslog-ng

Syslog-ng est un outil de journalisation centralisé puissant qui peut être utilisé pour collecter les journaux des clients sur un serveur central. Pour installer Syslog-ng, utilisez les commandes suivantes :

Ubuntu et Debian

sudo apt update
sudo apt install syslog-ng

CentOS

sudo yum update
sudo yum install syslog-ng

Configurez ensuite le serveur Syslog-ng sur le serveur central en créant un fichier de configuration personnalisé :


sudo nano /etc/syslog-ng/syslog-ng.conf

Et ajoutez ou modifiez les lignes suivantes :


destination d_local { file("/var/log/messages"); };
source s_local { udp(); port(514); };
log { source(s_local); destination(d_local); };

Sur les clients, configurez les clients Syslog-ng pour envoyer les journaux au serveur central :


sudo nano /etc/syslog-ng/syslog-ng.conf

Et ajoutez ou modifiez la ligne suivante :


destination d_remote { udp("10.0.0.1"); port(514); };
source s_local { system(); };
log { source(s_local); destination(d_remote); };

Rsyslog

Rsyslog est une autre option de journalisation centralisée. Pour installer Rsyslog, utilisez les commandes suivantes :

Ubuntu et Debian

sudo apt update
sudo apt install rsyslog

CentOS

sudo yum update
sudo yum install rsyslog

Configurez ensuite le serveur Rsyslog sur le serveur central en créant un fichier de configuration personnalisé :


sudo nano /etc/rsyslog.conf

Et ajoutez ou modifiez les lignes suivantes :

Écouter les messages UDP sur le port 514

input(type="imudp" port="514")

Envoyer les messages UDP à "/var/log/central.log"

action(type="omfile" file="/var/log/central.log")

Sur les clients, configurez les clients Rsyslog pour envoyer les journaux au serveur central :


sudo nano /etc/rsyslog.conf

Et ajoutez ou modifiez la ligne suivante :


. @10.0.0.1:514

Conclusion

Les journaux Linux fournissent des informations précieuses pour déboguer les problèmes, suivre l’activité du système et détecter les menaces de sécurité. En comprenant comment afficher et configurer les journaux, les administrateurs système peuvent optimiser les opérations du système, améliorer la sécurité et garantir des performances optimales.

En implémentant des pratiques de gestion des journaux efficaces, y compris la rotation des journaux, le réglage des niveaux de gravité et la journalisation centralisée, les organisations peuvent assurer l’intégrité et l’accessibilité des journaux, leur permettant ainsi de répondre rapidement aux incidents et d’améliorer la résilience globale du système.

FAQ

1. Qu’est-ce que les journaux Linux ?
Les journaux Linux sont des fichiers texte qui enregistrent les événements du système, les erreurs et les activités des utilisateurs.

2. Pourquoi la journalisation est-elle importante ?
La journalisation permet de déboguer les problèmes, de suivre l’activité du système et de détecter les menaces de sécurité potentielles.

3. Quels sont les différents outils de journalisation disponibles ?
journalctl, dmesg, Syslog-ng et Rsyslog sont des outils de journalisation courants utilisés dans les systèmes Linux.

4. Comment modifier la durée de conservation des journaux ?
Modifiez le fichier /etc/logrotate.conf pour définir la durée de conservation des différents journaux.

5. Comment modifier le niveau de gravité des journaux ?
Modifiez les fichiers /etc/rsyslog.conf ou /etc/syslog.conf pour ajuster les niveaux de gravité des journaux du système et du noyau.

6. Qu’est-ce que la journalisation centralisée ?
La journalisation centralisée implique la collecte et le stockage des journaux de plusieurs systèmes sur un serveur central, permettant une surveillance et une analyse centralisées.

7. Quels sont les avantages de la journalisation centralisée ?
La journalisation centralisée améliore la détection des problèmes, la sécurité et l’efficacité des opérations.

8. Comment implémenter la journalisation centralisée avec Syslog-ng ?
Configurez Syslog-ng sur le serveur central pour recevoir les journaux et sur les clients pour envoyer les journaux au serveur.

9. Comment implémenter la journalisation centralisée avec Rsyslog ?
Configurez Rsyslog sur le serveur central pour recevoir les journaux et sur les clients pour envoyer les journaux au serveur.

10. Quelles sont les meilleures pratiques pour la gestion des journaux ?
Implémentez la rotation des journaux, ajustez les niveaux de gravité et implémentez la journalisation centralisée pour une gestion efficace des journaux.