Gestion des journaux avec syslog et journalctl

18 juin 2025 — par admin_libra

Introduction

La gestion des journaux (logs) est une partie essentielle de l’administration système sur Linux. Les journaux permettent de surveiller les événements système, de diagnostiquer les problèmes et de suivre les activités des services. Sur les distributions Debian et Ubuntu, deux outils principaux sont utilisés pour la gestion des journaux : syslogd et journalctl. Dans cet article, nous allons explorer comment configurer et utiliser ces outils pour une gestion efficace des journaux.

syslogd et rsyslog

syslogd est le démon de journalisation traditionnel sur les systèmes Unix. Il est responsable de la collecte, du stockage et de la rotation des messages de journal. Sur les distributions modernes comme Debian et Ubuntu, rsyslogd est souvent utilisé à la place de syslogd en raison de ses fonctionnalités avancées.

Configuration de rsyslog

Le fichier de configuration principal de rsyslogd est /etc/rsyslog.conf. Ce fichier définit les règles de journalisation, les destinations des journaux et les filtres.

Voici un exemple de configuration de base pour rsyslogd :

# /etc/rsyslog.conf

# Modules

module(load="imuxsock") # provides support for local system logging

module(load="imklog") # provides kernel logging support

# Templates

template(name="FileFormat" type="string" string="/var/log/%programname%.log")
# Rules

*.* ?FileFormat

& stop

Dans cet exemple, nous chargeons les modules imuxsock et imklog pour la journalisation locale et la journalisation du noyau. Nous définissons également un modèle de fichier de journal et une règle pour diriger tous les messages de journal vers des fichiers spécifiques dans /var/log/.

Redémarrer rsyslog

Après avoir modifié le fichier de configuration, il est nécessaire de redémarrer rsyslogd pour que les changements prennent effet :

# Redémarrer le service
sudo systemctl restart rsyslog

journalctl et systemd-journald

journalctl est l’outil de ligne de commande pour interagir avec systemd-journald, le service de journalisation intégré à systemd. systemd-journald collecte et stocke les messages de journal de manière structurée, ce qui facilite leur consultation et leur analyse.

Commandes de base de journalctl

Voici quelques commandes de base pour utiliser journalctl :

  • Afficher tous les messages de journal :

    journalctl
  • Afficher les messages de journal pour un service spécifique :

    # Afficher les logs d'un service spécifique
    journalctl -u nom_du_service
  • Afficher les messages de journal en temps réel :

    # Suivre les logs en temps réel
    journalctl -f
  • Afficher les messages de journal depuis une date spécifique :

    # Filtrer les logs par date
    journalctl --since "2023-01-01"
  • Afficher les messages de journal pour une unité spécifique :

    # Afficher les logs d'un service spécifique
    journalctl -u nginx.service
  • Afficher les messages de journal avec une priorité spécifique :

    journalctl -p err
  • Exemples pratiques

    1. Afficher les messages de journal pour le service Apache :

      # Afficher les logs d'un service spécifique
      journalctl -u apache2
    2. Afficher les messages de journal en temps réel pour le service SSH :

      # Afficher les logs d'un service spécifique
      journalctl -u ssh -f
    3. Afficher les messages de journal depuis le début de la journée :

      # Filtrer les logs par date
      journalctl --since today
    4. Afficher les messages de journal avec une priorité d’erreur ou supérieure :

      journalctl -p err

    Configuration de systemd-journald

    Le fichier de configuration principal de systemd-journald est /etc/systemd/journald.conf. Ce fichier permet de configurer divers aspects du service de journalisation, tels que la taille maximale des journaux, la rotation des journaux et la persistance des journaux.

    Voici un exemple de configuration de base pour systemd-journald :

    # /etc/systemd/journald.conf
    
    [Journal]
    Storage=persistent
    Compress=yes
    Seal=yes
    SplitMode=uid
    SyncIntervalSec=5m
    RateLimitInterval=30s
    RateLimitBurst=1000
    SystemMaxUse=100M
    SystemMaxFileSize=10M
    SystemMaxFiles=10
    RuntimeMaxUse=30M
    RuntimeMaxFileSize=5M
    RuntimeMaxFiles=5
    MaxRetentionSec=1month
    ForwardToSyslog=no
    ForwardToKMsg=no
    ForwardToConsole=no
    ForwardToWall=no
    TTYPath=/dev/console
    MaxLevelStore=debug
    MaxLevelSyslog=debug
    MaxLevelKMsg=notice
    MaxLevelConsole=info
    MaxLevelWall=emerg

    Redémarrer systemd-journald

    Après avoir modifié le fichier de configuration, il est nécessaire de redémarrer systemd-journald pour que les changements prennent effet :

    # Redémarrer le service
    sudo systemctl restart systemd-journald

    Conclusion

    La gestion des journaux est une tâche cruciale pour l’administration système sur Linux. Avec syslogd et journalctl, les distributions Debian et Ubuntu offrent des outils puissants pour la collecte, le stockage et l’analyse des messages de journal. En comprenant comment configurer et utiliser ces outils, vous serez en mesure de surveiller efficacement les événements système et de diagnostiquer les problèmes.

    Index complet

    Tous les articles (47)

    Date Article Tags
    22/06/2026 OS : Cycle de vie LTS et mise à jour des distributions — apt dist-upgrade et do-release-upgrade sous Debian / Ubuntu apt cycle-de-vie debian 17/06/2026 APT : Guide complet de la gestion des paquets sous Debian et Ubuntu administration apt debian 17/06/2026 SHELL : Guide des commandes les plus usuelles et commandes couteau suisse awk bash commandes 17/06/2026 SUDO : implémentation et sécurisation des accès sur Debian/Ubuntu administration audit authentification 17/06/2026 ProFTPd : authentification MySQL centralisée, FTPs (SSL) et SFTP sur Debian/Ubuntu authentification debian ftp 09/06/2026 Fail2ban — configuration avancée et filtres personnalisés bruteforce debian fail2ban 07/06/2026 Docker : comment récupérer de l'espace disque cache conteneurs debian 07/06/2026 Graylog 7 — Centralisation et analyse de logs : l'alternative à ELK sur Debian/Ubuntu centralisation debian elk 07/06/2026 OpenZFS : tiering avec L2ARC et SLOG pour les workloads mixtes cache l2arc nvme 07/06/2026 Scripting Bash avancé — pièges, bonnes pratiques et optimisation automatisation bash bonnes-pratiques 07/06/2026 AppArmor sur Debian/Ubuntu : profils, modes et confinement applicatif apparmor audit confinement 07/06/2026 Durcissement SSH — au-delà des clés publiques 2fa authentification cryptographie 27/05/2026 LXD 6.x : orchestration de conteneurs Linux avec profils et clustering administration clustering conteneurs 27/05/2026 Keepalived — VIP flottante et load balancing sans matériel dédié debian failover haute-disponibilité 27/05/2026 Btrfs sur Linux — snapshots, sous-volumes et compression en pratique administration btrfs compression 21/05/2026 CVE-2026-42945 (NGINX Rift) : analyse et remédiation sur Debian/Ubuntu cve debian heap-overflow 21/05/2026 Tuning kernel Linux — paramètres sysctl essentiels pour la production debian kernel mémoire 21/05/2026 DRBD : réplication de blocs entre deux serveurs en temps réel cluster debian drbd 15/05/2026 CVE-2026-23918 — vulnérabilité Apache 2.4.66 : analyse et correctifs sur Debian/Ubuntu (hors Debian 11) apache cve debian 15/05/2026 CVE-2026-31431 (Copy Fail) — Analyse et remédiation sur Debian/Ubuntu algif_aead copy-fail cve 12/05/2026 Pacemaker et Corosync — cluster haute disponibilité Linux cluster corosync debian 12/05/2026 WireGuard : monter un VPN mesh entre plusieurs serveurs Linux chiffrement linux mesh 12/05/2026 Netdata — monitoring temps réel sans configuration complexe alertes dashboard linux 12/05/2026 nftables en pratique — remplacer iptables sur Debian/Ubuntu debian firewall iptables 12/05/2026 Podman : alternative rootless à Docker — installation et migration conteneurs docker kubernetes 02/05/2026 Prometheus et Grafana sur Debian — installation, configuration et dashboards pratiques alertmanager dashboard debian 02/05/2026 Ansible : automatiser la gestion de serveurs Linux avec des playbooks administration ansible automation 28/04/2026 ZFS sur Linux : snapshots, clones et RAID-Z en pratique administration compression filesystem 28/04/2026 eBPF sur Linux : observabilité et traçage kernel avec bpftrace et BCC bcc bpftrace diagnostic 23/04/2026 Analyse de la mémoire sur Linux — vmstat, free, smem diagnostic mémoire monitoring 23/04/2026 Sécurité Linux — Firewall iptables et nftables firewall iptables nftables 23/04/2026 ZFS sur Linux — Installation et gestion avancée administration filesystem stockage 23/04/2026 Gestion des services avec systemd sur Debian et Ubuntu administration debian services 23/04/2026 Gestion des ressources cgroups v1/v2 avec LXC cgroups conteneurs lxc 23/04/2026 Centralisation logs avec ELK Stack — Elasticsearch, Kibana, Filebeat elasticsearch elk filebeat 23/04/2026 Supervision avec Zabbix 7.0 LTS sur Debian/Ubuntu debian monitoring supervision 23/04/2026 Plusieurs versions PHP-FPM sur Apache Debian/Ubuntu apache debian php-fpm 23/04/2026 Sécurisation avancée PHP-FPM — Multi-VirtualHosts Apache/Nginx apache nginx php-fpm 23/04/2026 Optimisation PHP-FPM — Guide de tuning d'un pool optimisation performance php-fpm 29/07/2025 Docker sur Debian/Ubuntu : Installation, Configuration et Utilisation conteneurs debian docker 03/07/2025 Serveur VPN WireGuard sous linux réseau sécurité vpn 03/07/2025 Authentification par clé publique sur un serveur SSH authentification cryptographie sécurité 27/06/2025 Surveillance et diagnostic d’un serveur Linux avec vmstat, iotop et htop diagnostic htop monitoring 27/06/2025 Mémoire : Utilisation des Huge Pages et implémentation hugepages mémoire noyau 27/06/2025 Mémoire Swap et paramétrage swappiness mémoire noyau performance 18/06/2025 Installation et Configuration des Conteneurs LXC sur Linux administration conteneurs lxc 18/06/2025 Gestion des journaux avec syslog et journalctl administration journalctl logs