GNU/Linux >> Znalost Linux >  >> Linux

Jak používat journalctl k analýze protokolů v Linuxu

Systemd je výchozí správce systému ve všech hlavních operačních systémech založených na Linuxu. Poskytuje démona journald, který zpracovává všechny zprávy produkované jádrem a systémovými službami. Démon journald shromažďuje data ze všech dostupných zdrojů a ukládá je v binárním formátu pro snadnou a dynamickou manipulaci. Systemd poskytuje nástroj příkazového řádku nazvaný journalctl, který lze použít ke čtení a analýze protokolů žurnálu. journalctl vám umožňuje analyzovat a sledovat protokoly v reálném čase.

V této příručce vám ukážeme, jak používat journalctl k analýze protokolů v Linuxu.

Předpoklady

  • Nový server Ubuntu 20.04 na cloudové platformě Atlantic.Net
  • Heslo uživatele root nakonfigurované na vašem serveru

Vytvořte cloudový server Atlantic.Net

Nejprve se přihlaste ke svému cloudovému serveru Atlantic.Net. Vytvořte nový server a jako operační systém vyberte Ubuntu 20.04 s alespoň 2 GB RAM. Připojte se ke svému cloudovému serveru přes SSH a přihlaste se pomocí přihlašovacích údajů zvýrazněných v horní části stránky.

Jakmile se přihlásíte ke svému serveru Ubuntu 20.04, spusťte následující příkaz a aktualizujte svůj základní systém nejnovějšími dostupnými balíčky.

apt-get update -y

Konfigurovat deník

Nejprve vytvořte adresář pro uložení protokolu deníku:

mkdir /var/log/journal

Dále nastavte správné vlastnictví pomocí následujícího příkazu:

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

Dále upravte výchozí konfigurační soubor journald /etc/systemd/journald.conf a definujte svůj nový adresář:

nano /etc/systemd/journald.conf

Změňte následující řádek:

Storage=persistent

Uložte a zavřete soubor a poté restartujte službu systemd-journald, aby se změny projevily:

systemctl restart systemd-journald

Nyní můžete zkontrolovat adresář /var/log/journal:

ls -l /var/log/journal

Měli byste vidět následující výstup:

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

K analýze protokolu použijte journalctl

Chcete-li vytisknout všechny protokoly shromážděné démonem journald, spusťte příkaz journalctl:

journalctl

Výstup:

-- Záznamy začínají ve St 2021-04-21 07:00:15 UTC, končí ve St 2021-04-21 11:40:12 UTC. --Apr 21 07:00:15 ubuntu2004 kernel:Linux verze 4.19.0-9-amd64 ([email protected]) (gcc verze 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:Příkazový řádek:BOOT_IMAGE=/boot/vmlinuz-4.19.0-9-amd64 root=UUID=d4f8c3a4e185- 6124ce8719b5 roApr 21 07:00:15 ubuntu2004 jádro:x86/fpu:x87 FPU bude používat FXSAVEApr 21 07:00:15 ubuntu2004 jádro:BIOS-poskytované fyzické RAM mapa:Apr:04:201 [MEM 0x0000000000000000-0X000000000009FBFF] UsableApr 21 07:00:15 Ubuntu2004 Kernel:BIOS-E820:[MEM 0x0000000009FC00-0X000000000009FFF] Rezervace 21 07:00:KERNONITONITONITOSTIS [MEMFCTITONITONITONI 00:15 Ubuntu2004 Kernel:BIOS-E820:[MEM 0x00000000100000-0X0000007FDBFFF] UsableApr 21 07:00:15 Ubuntu2004 Kernel:BIOS-E820:[MEM 0X000000007FDC000-0X0000007FFFFF] KERNELAPRES ROOS OBUNUTREMUTREMUTREMONAPRASUTRUTRUMUNEHRUNAPRAMUTRUNITONAPRUTONEMUTRUNEMENTRA. [paměť 0x00000000feffc00 0-0x00000000feffffff] vyhrazeno 21. dubna 07:00:15 jádro ubuntu2004:BIOS-e820:[mem 0x00000000fffc0000-0x00000000ffffffff] vyhrazeno 74. dubna> 21. dubna:2. dubna 

Pokud potřebujete podrobnější výstup, spusťte následující příkaz:

journalctl -o verbose

Výstup:

-- Záznamy začínají ve St 2021-04-21 07:00:15 UTC, končí ve St 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 verze 4.19.0-9-amd64 ([email protected]) (gcc verze 8.3.0 (Debian 8.3.0-6)) #1 SMP Debian 4.19.118-2+deb18cf0941_BO2496041_BO2496041_BO2496041_BO2 _MACHINE_ID=97bcb1f0d9aa4b339adefc87f1332d04 _HOSTNAME=ubuntu2004Wed 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-6124ce8 719b5 ro

Chcete-li zobrazit všechny dostupné protokoly spouštění, spusťte následující příkaz:

journalctl --list-boots

Výstup:

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

Chcete-li zobrazit všechny protokoly od posledního restartu, spusťte následující příkaz:

journalctl -b

Chcete-li zobrazit nejnovější záznamy protokolu, spusťte následující příkaz:

journalctl --lines 5

Výstup:

-- Záznamy začínají ve St 2021-04-21 07:00:15 UTC, končí ve St 2021-04-21 11:45:13 UTC. --Apr 21 11:45:06 ubuntu2004 sshd[12088]:Selhalo heslo pro neplatné uživatele telecomadmin z 103.42.205.111 port 64471 ssh2Apr 21 11:45:08 Připojení ubuntu20204 1 user.1 invalid. 64471 [preauth]Apr 21 11:45:13 ubuntu2004 sshd[12092]:Neplatný uživatel admin z 81.70.161.162 port 60614Apr 21 11:45:13 ubuntu(ssh:check_sundu):ubuntuix2002:sundsh uživatel neznámýApr 21 11:45:13 ubuntu2004 sshd[12092]:pam_unix(sshd:auth):chyba ověření; logname=uid=0 euid=0 tty=ssh ruser=rhost=81.70.161.162

Chcete-li protokol vytisknout nepřetržitě, spusťte následující příkaz:

journalctl --follow

Výstup:

-- Záznamy začínají ve středu 21. 4. 2021 07:00:15 UTC. --Apr 21 11:45:36 ubuntu2004 sshd[12106]:Odpojeno od neplatného uživatele babi 104.131.102.169 port 54872 [preauth]Apr 21 from 11:45:40 ubuntu[2004 Invalid80 sshd1 user1.0.01 21 11:45:40 ubuntu2004 sshd[12108]:pam_unix(sshd:auth):check pass; uživatel neznámýApr 21 11:45:40 ubuntu2004 sshd[12108]:pam_unix(sshd:auth):chyba ověření; logname=uid=0 euid=0 tty=ssh ruser=rhost=103.108.241.111Apr 21 11:45:41 ubuntu2004 sshd[12110]:pam_unix(sshd:auth):selhání autentizace; logname=uid=0 euid=0 tty=ssh ruser=rhost=101.32.11.137 user=rootApr 21 11:45:42 ubuntu2004 sshd[12108]:Selhalo heslo pro neplatné uživatele telecomadmin z 1025 241211118.4. :43 ubuntu2004 sshd[12108]:Spojení ukončeno neplatným uživatelem telecomadmin 103.108.241.111 port 60842 [preauth]Apr 21 11:45:43 ubuntu2004 sshd[12110]:18100 port heslo pro 1130 z 13 18 se nezdařilo 21. dubna 21.04. :45 ubuntu2004 sshd[12110]:Přijato odpojení od portu 101.32.11.137 43086:11:Bye Bye [preauth]Apr 21 11:45:45 ubuntu2004 sshd[1211104.6 Disconnected from121110]:User 

Chcete-li zobrazit konkrétní protokoly související se službami, jako jsou SSH a Nginx, spusťte následující příkaz:

journalctl -u ssh.servicejournalctl -u nginx.service

Chcete-li zobrazit pouze protokoly související s jádrem, spusťte následující příkaz;

journalctl -k

Chcete-li zobrazit protokoly obsahující chyby nebo kritické informace, spusťte následující příkaz:

journalctl -p err -b

Výstup:

-- Záznamy začínají ve St 2021-04-21 07:00:15 UTC, končí ve St 2021-04-21 11:49:21 UTC. --Apr 21 07:00:16 ubuntu2004 ntpd[337]:leapsecond file ('/usr/share/zoneinfo/leap-seconds.list'):vypršela před méně než 115 dnyApr 21 07:00:16 ubuntu2004 ntpd[337 ]:bind(21) AF_INET6 fe80::200:2dff:fe3a:264e%2#123 příznaky 0x11 se nezdařilo:Nelze přiřadit požadovanou adresuApr 21 07:00:16 ubuntu2004 ntpd[337]:nelze vytvořit 5 soket na ens3 pro fe80::200:2dff:fe3a:264e%2#123

Chcete-li zobrazit všechny protokoly ze včerejška, spusťte následující příkaz:

journalctl --od včerejška

Chcete-li zobrazit všechny protokoly počínaje 6:00 a pokračovat až do doby před hodinou, spusťte následující příkaz:

journalctl --od 06:00 --do "před 1 hodinou"

Chcete-li zobrazit množství místa, které žurnál využívá, spusťte následující příkaz:

journalctl --disk-usage

Výstup:

Archivované a aktivní deníky zabírají v systému souborů 16,0 milionů.

Pokud chcete zachovat všechna data protokolů pouze za poslední rok, spusťte následující příkaz:

journalctl --vacuum-time=1roky

Chcete-li zobrazit pouze několik posledních protokolů, spusťte následující příkaz:

journalctl -xe

Závěr

Ve výše uvedené příručce jste se naučili, jak používat journalctl ke čtení a analýze různých systémových protokolů. Nyní můžete identifikovat nebo odstraňovat problémy se systémem nebo aplikacemi na vašem VPS z Atlantic.Net.


Linux
  1. Jak používat BusyBox na Linuxu

  2. Jak používám cron v Linuxu

  3. Jak používat FIND v Linuxu

  1. Jak používat Unzip v Linuxu

  2. Jak používat Su Command v Linuxu

  3. Jak používat Disk Google v systému Linux

  1. Jak používám nastavení usnadnění přístupu v systému Linux

  2. Jak používat pkgsrc na Linuxu

  3. Jak vymazat Journalctl?