2024-05-15 10:39 Temps de lecture : 10 min

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

Introduction

La gestion des logs est un pilier essentiel de l'administration des systèmes Linux. Ces journaux constituent une source d'informations inestimable concernant les événements système, les anomalies et l'activité des utilisateurs. L'analyse de ces logs permet aux administrateurs de résoudre les incidents, de suivre l'évolution du système et d'anticiper les potentielles menaces à la sécurité.

Ce guide détaillé explore les différentes méthodes pour consulter et paramétrer les logs Linux sur trois distributions majeures : Ubuntu, Debian et CentOS. Nous étudierons les outils de journalisation intégrés, les approches de centralisation des logs et les recommandations pour une administration efficace.

Affichage des Logs Linux

Utilisation de la commande journalctl

L'outil journalctl est un utilitaire versatile pour visualiser les logs système sur Ubuntu et Debian. Il propose une interface unifiée permettant d'accéder aux logs de différentes sources, incluant :

  • Logs du noyau (messages)
  • Logs système (syslog)
  • Logs applicatifs (journald)

Pour afficher l'ensemble des logs, exécutez la commande :

journalctl

Il est possible de filtrer les logs en fonction du niveau de priorité, de l'origine 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>

    Utilisation de la commande dmesg

    La commande dmesg permet d'afficher les messages du noyau, notamment les erreurs de démarrage et les événements liés au matériel. Pour visualiser ces messages, utilisez :

    dmesg

    Configuration des Logs Linux

    Durée de conservation des logs

    La durée de conservation des logs détermine combien de temps les informations sont gardées avant d'être effacées. Pour ajuster cette durée sur Ubuntu et Debian, modifiez 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
    }
    

    Cette configuration permet de conserver les logs système et noyau pendant 4 semaines.

    Niveau de gravité des logs

    Le niveau de gravité définit la sévérité des événements enregistrés. Pour modifier ce niveau pour les logs système et noyau, modifiez les fichiers de configuration suivants :

    • Logs système : /etc/rsyslog.conf
    • Logs du noyau : /etc/syslog.conf

    Ouvrez le fichier concerné avec Nano :

    sudo nano /etc/rsyslog.conf

    Ajoutez ou modifiez cette ligne :

    *.* /var/log/syslog

    Remplacez par le niveau souhaité, comme error, warning ou info.

    Centralisation des Logs

    La centralisation consiste à collecter et stocker les logs de plusieurs systèmes sur un serveur unique. Cette approche facilite la surveillance et l'analyse des logs, renforçant ainsi la détection des anomalies et la sécurité.

    Syslog-ng

    Syslog-ng est un outil puissant pour la centralisation des logs. Pour l'installer, utilisez les commandes suivantes :

    Ubuntu et Debian

    sudo apt update
    sudo apt install syslog-ng

    CentOS

    sudo yum update
    sudo yum install syslog-ng

    Sur le serveur central, configurez Syslog-ng en créant un fichier de configuration personnalisé :

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

    Ajoutez ou modifiez ces lignes :

    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 pour envoyer les logs au serveur central :

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

    Et modifiez ou ajoutez cette ligne :

    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 solution de centralisation des logs. Pour l'installer :

    Ubuntu et Debian

    sudo apt update
    sudo apt install rsyslog

    CentOS

    sudo yum update
    sudo yum install rsyslog

    Configurez Rsyslog sur le serveur central :

    sudo nano /etc/rsyslog.conf

    Ajoutez ou modifiez ces lignes :

    input(type="imudp" port="514")
    action(type="omfile" file="/var/log/central.log")

    Sur les clients, configurez-les pour envoyer les logs au serveur central :

    sudo nano /etc/rsyslog.conf

    Et ajoutez ou modifiez cette ligne :

    *.* @10.0.0.1:514

    Conclusion

    Les logs Linux sont une mine d'informations pour la résolution de problèmes, le suivi de l'activité système et la détection des menaces. La maîtrise de l'affichage et de la configuration des logs permet aux administrateurs d'optimiser les opérations, d'améliorer la sécurité et de garantir des performances optimales.

    L'adoption de bonnes pratiques de gestion des logs, incluant la rotation, l'ajustement des niveaux de gravité et la centralisation, assure l'intégrité et l'accessibilité des logs. Cela permet une réaction rapide aux incidents et une amélioration de la résilience du système.

    FAQ

    1. Que sont les logs Linux ? Les logs Linux sont des fichiers texte enregistrant les événements système, les erreurs et l'activité des utilisateurs.
    2. Pourquoi la journalisation est-elle importante ? La journalisation est essentielle pour la résolution de problèmes, le suivi de l'activité et la détection de menaces.
    3. Quels outils de journalisation sont disponibles ? journalctl, dmesg, Syslog-ng et Rsyslog sont des outils courants.
    4. Comment modifier la durée de conservation des logs ? Modifiez le fichier /etc/logrotate.conf pour ajuster la durée de conservation.
    5. Comment modifier le niveau de gravité des logs ? Modifiez les fichiers /etc/rsyslog.conf ou /etc/syslog.conf.
    6. Qu'est-ce que la journalisation centralisée ? La centralisation consiste à collecter les logs de plusieurs systèmes sur un serveur central.
    7. Quels sont les avantages de la journalisation centralisée ? Elle améliore la détection des problèmes, la sécurité et l'efficacité.
    8. Comment implémenter la centralisation avec Syslog-ng ? Configurez Syslog-ng sur le serveur central et sur les clients.
    9. Comment implémenter la centralisation avec Rsyslog ? Configurez Rsyslog sur le serveur central et sur les clients.
    10. Quelles sont les bonnes pratiques pour la gestion des logs ? Effectuez la rotation des logs, ajustez les niveaux de gravité et utilisez la centralisation.
    Auteur
    France

    Rédacteur tech, guides pratiques et astuces numériques.