GNU/Linux >> Tutoriels Linux >  >> Linux

Comment utiliser journalctl pour analyser les journaux sous Linux

Systemd est le gestionnaire de système par défaut de tous les principaux systèmes d'exploitation basés sur Linux. Il fournit un démon journald qui gère tous les messages produits par le noyau et les services système. Le démon journald collecte les données de toutes les sources disponibles et les stocke dans un format binaire pour une manipulation simple et dynamique. Systemd fournit un outil de ligne de commande appelé journalctl qui peut être utilisé pour lire et analyser les journaux de journal. journalctl vous permet d'analyser et de surveiller les journaux en temps réel.

Dans ce guide, nous vous montrerons comment utiliser journalctl pour analyser les journaux sous Linux.

Prérequis

  • Un nouveau serveur Ubuntu 20.04 sur la plate-forme cloud Atlantic.Net
  • Un mot de passe root configuré sur votre serveur

Créer un serveur cloud Atlantic.Net

Tout d'abord, connectez-vous à votre serveur Atlantic.Net Cloud. Créez un nouveau serveur en choisissant Ubuntu 20.04 comme système d'exploitation avec au moins 2 Go de RAM. Connectez-vous à votre serveur cloud via SSH et connectez-vous à l'aide des informations d'identification mises en évidence en haut de la page.

Une fois que vous êtes connecté à votre serveur Ubuntu 20.04, exécutez la commande suivante pour mettre à jour votre système de base avec les derniers packages disponibles.

apt-get update -y

Configurer le journal

Tout d'abord, créez un répertoire pour stocker le journal du journal :

mkdir /var/log/journal

Ensuite, définissez la propriété appropriée avec la commande suivante :

chown -R root:systemd-journal /var/log/journal

Ensuite, éditez le fichier de configuration par défaut de journald /etc/systemd/journald.conf et définissez votre nouveau répertoire :

nano /etc/systemd/journald.conf

Modifiez la ligne suivante :

Storage=persistent

Enregistrez et fermez le fichier, puis redémarrez le service systemd-journald pour appliquer les modifications :

systemctl restart systemd-journald

Vous pouvez maintenant vérifier le répertoire /var/log/journal :

ls -l /var/log/journal

Vous devriez voir le résultat suivant :

drwxr-xr-x 2 root systemd-journal 4096 Apr 21 11:35 97bcb1f0d9aa4b339adefc87f1332d04

Utilisez journalctl pour analyser le journal

Pour imprimer tous les journaux collectés par le démon journald, exécutez la commande journalctl :

journalctl

Sortie :

-- Logs begin at Wed 2021-04-21 07:00:15 UTC, end at Wed 2021-04-21 11:40:12 UTC. --
Apr 21 07:00:15 ubuntu2004 kernel: Linux version 4.19.0-9-amd64 ([email protected]) (gcc version 8.3.0 (Debian 8.3.0-6)) #1 SMP Debian 4.19.118-2+deb10u1 (2020-06-07)
Apr 21 07:00:15 ubuntu2004 kernel: Command line: BOOT_IMAGE=/boot/vmlinuz-4.19.0-9-amd64 root=UUID=d4f8c3a8-164f-4e15-a198-6124ce8719b5 ro
Apr 21 07:00:15 ubuntu2004 kernel: x86/fpu: x87 FPU will use FXSAVE
Apr 21 07:00:15 ubuntu2004 kernel: BIOS-provided physical RAM map:
Apr 21 07:00:15 ubuntu2004 kernel: BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable
Apr 21 07:00:15 ubuntu2004 kernel: BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved
Apr 21 07:00:15 ubuntu2004 kernel: BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved
Apr 21 07:00:15 ubuntu2004 kernel: BIOS-e820: [mem 0x0000000000100000-0x000000007ffdbfff] usable
Apr 21 07:00:15 ubuntu2004 kernel: BIOS-e820: [mem 0x000000007ffdc000-0x000000007fffffff] reserved
Apr 21 07:00:15 ubuntu2004 kernel: BIOS-e820: [mem 0x00000000feffc000-0x00000000feffffff] reserved
Apr 21 07:00:15 ubuntu2004 kernel: BIOS-e820: [mem 0x00000000fffc0000-0x00000000ffffffff] reserved
Apr 21 07:00:15 ubuntu2004 kernel: NX (Execute Disable) protection: active

Si vous avez besoin d'une sortie plus détaillée, exécutez la commande suivante :

journalctl -o verbose

Sortie :

-- Logs begin at Wed 2021-04-21 07:00:15 UTC, end at Wed 2021-04-21 11:40:29 UTC. --
Wed 2021-04-21 07:00:15.461318 UTC [s=1baac74dce14445f9a6670f231104955;i=1;b=41c491f449fa44c288474cf9f14386c0;m=1ee776;t=5c0761d6627c6;x=4c88a9
    _SOURCE_MONOTONIC_TIMESTAMP=0
    _TRANSPORT=kernel
    PRIORITY=5
    SYSLOG_FACILITY=0
    SYSLOG_IDENTIFIER=kernel
    MESSAGE=Linux version 4.19.0-9-amd64 ([email protected]) (gcc version 8.3.0 (Debian 8.3.0-6)) #1 SMP Debian 4.19.118-2+deb10u1
    _BOOT_ID=41c491f449fa44c288474cf9f14386c0
    _MACHINE_ID=97bcb1f0d9aa4b339adefc87f1332d04
    _HOSTNAME=ubuntu2004
Wed 2021-04-21 07:00:15.461357 UTC [s=1baac74dce14445f9a6670f231104955;i=2;b=41c491f449fa44c288474cf9f14386c0;m=1ee79e;t=5c0761d6627ed;x=eaf7df
    _SOURCE_MONOTONIC_TIMESTAMP=0
    _TRANSPORT=kernel
    SYSLOG_FACILITY=0
    SYSLOG_IDENTIFIER=kernel
    _BOOT_ID=41c491f449fa44c288474cf9f14386c0
    _MACHINE_ID=97bcb1f0d9aa4b339adefc87f1332d04
    _HOSTNAME=ubuntu2004
    PRIORITY=6
    MESSAGE=Command line: BOOT_IMAGE=/boot/vmlinuz-4.19.0-9-amd64 root=UUID=d4f8c3a8-164f-4e15-a198-6124ce8719b5 ro

Pour répertorier tous les journaux de démarrage disponibles, exécutez la commande suivante :

journalctl --list-boots

Sortie :

 0 41c491f449fa44c288474cf9f14386c0 Wed 2021-04-21 07:00:15 UTC—Wed 2021-04-21 11:41:44 UTC

Pour afficher tous les journaux depuis le dernier redémarrage, exécutez la commande suivante :

journalctl -b

Pour afficher les entrées de journal les plus récentes, exécutez la commande suivante :

journalctl --lines 5

Sortie :

-- Logs begin at Wed 2021-04-21 07:00:15 UTC, end at Wed 2021-04-21 11:45:13 UTC. --
Apr 21 11:45:06 ubuntu2004 sshd[12088]: Failed password for invalid user telecomadmin from 103.42.205.111 port 64471 ssh2
Apr 21 11:45:08 ubuntu2004 sshd[12088]: Connection closed by invalid user telecomadmin 103.42.205.111 port 64471 [preauth]
Apr 21 11:45:13 ubuntu2004 sshd[12092]: Invalid user admin from 81.70.161.162 port 60614
Apr 21 11:45:13 ubuntu2004 sshd[12092]: pam_unix(sshd:auth): check pass; user unknown
Apr 21 11:45:13 ubuntu2004 sshd[12092]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=81.70.161.162

Pour imprimer le journal en continu, exécutez la commande suivante :

journalctl --follow

Sortie :

-- Logs begin at Wed 2021-04-21 07:00:15 UTC. --
Apr 21 11:45:36 ubuntu2004 sshd[12106]: Disconnected from invalid user babi 104.131.102.169 port 54872 [preauth]
Apr 21 11:45:40 ubuntu2004 sshd[12108]: Invalid user telecomadmin from 103.108.241.111 port 60842
Apr 21 11:45:40 ubuntu2004 sshd[12108]: pam_unix(sshd:auth): check pass; user unknown
Apr 21 11:45:40 ubuntu2004 sshd[12108]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=103.108.241.111
Apr 21 11:45:41 ubuntu2004 sshd[12110]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=101.32.11.137  user=root
Apr 21 11:45:42 ubuntu2004 sshd[12108]: Failed password for invalid user telecomadmin from 103.108.241.111 port 60842 ssh2
Apr 21 11:45:43 ubuntu2004 sshd[12108]: Connection closed by invalid user telecomadmin 103.108.241.111 port 60842 [preauth]
Apr 21 11:45:43 ubuntu2004 sshd[12110]: Failed password for root from 101.32.11.137 port 43086 ssh2
Apr 21 11:45:45 ubuntu2004 sshd[12110]: Received disconnect from 101.32.11.137 port 43086:11: Bye Bye [preauth]
Apr 21 11:45:45 ubuntu2004 sshd[12110]: Disconnected from authenticating user root 101.32.11.137 port 43086 [preauth]

Pour afficher des journaux spécifiques liés à des services tels que SSH et Nginx, exécutez la commande suivante :

journalctl -u ssh.service
journalctl -u nginx.service

Pour afficher uniquement les journaux liés au noyau, exécutez la commande suivante :

journalctl -k

Pour afficher les journaux contenant des erreurs ou critiques, exécutez la commande suivante :

journalctl -p err -b

Sortie :

-- Logs begin at Wed 2021-04-21 07:00:15 UTC, end at Wed 2021-04-21 11:49:21 UTC. --
Apr 21 07:00:16 ubuntu2004 ntpd[337]: leapsecond file ('/usr/share/zoneinfo/leap-seconds.list'): expired less than 115 days ago
Apr 21 07:00:16 ubuntu2004 ntpd[337]: bind(21) AF_INET6 fe80::200:2dff:fe3a:264e%2#123 flags 0x11 failed: Cannot assign requested address
Apr 21 07:00:16 ubuntu2004 ntpd[337]: unable to create socket on ens3 (5) for fe80::200:2dff:fe3a:264e%2#123

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

journalctl --since yesterday

Pour afficher tous les journaux à partir de 6h00 et jusqu'à il y a une heure, exécutez la commande suivante :

journalctl --since 06:00 --until "1 hour ago"

Pour afficher la quantité d'espace utilisée par le journal, exécutez la commande suivante :

journalctl --disk-usage

Sortie :

Archived and active journals take up 16.0M in the file system.

Si vous souhaitez conserver toutes les données des journaux uniquement de l'année dernière, exécutez la commande suivante :

journalctl --vacuum-time=1years

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

journalctl -xe

Conclusion

Dans le guide ci-dessus, vous avez appris à utiliser journalctl pour lire et analyser différents journaux système. Vous pouvez désormais identifier ou résoudre les problèmes liés au système ou aux applications sur votre VPS depuis Atlantic.Net.


Linux
  1. Comment utiliser BusyBox sous Linux

  2. Comment j'utilise cron sous Linux

  3. Comment utiliser FIND sous Linux

  4. Comment utiliser Décompresser sous Linux

  5. Comment effacer Journalctl ?

Comment utiliser l'écran Linux

Comment utiliser du Command sous Linux

Comment utiliser le terminal Linux dans Android

Comment utiliser la commande sysctl sous Linux

Comment utiliser la commande d'arrêt de Linux

Comment utiliser grep sous Linux