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. dubnaPokud potřebujete podrobnější výstup, spusťte následující příkaz:
journalctl -o verboseVý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 roChcete-li zobrazit všechny dostupné protokoly spouštění, spusťte následující příkaz:
journalctl --list-bootsVýstup:
0 41c491f449fa44c288474cf9f14386c0 St 2021-04-21 07:00:15 UTC—St 2021-04-21 11:41:44 UTCChcete-li zobrazit všechny protokoly od posledního restartu, spusťte následující příkaz:
journalctl -bChcete-li zobrazit nejnovější záznamy protokolu, spusťte následující příkaz:
journalctl --lines 5Vý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.162Chcete-li protokol vytisknout nepřetržitě, spusťte následující příkaz:
journalctl --followVý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]:UserChcete-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.serviceChcete-li zobrazit pouze protokoly související s jádrem, spusťte následující příkaz;
journalctl -kChcete-li zobrazit protokoly obsahující chyby nebo kritické informace, spusťte následující příkaz:
journalctl -p err -bVý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#123Chcete-li zobrazit všechny protokoly ze včerejška, spusťte následující příkaz:
journalctl --od včerejškaChcete-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-usageVý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=1rokyChcete-li zobrazit pouze několik posledních protokolů, spusťte následující příkaz:
journalctl -xeZá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.
Jak vytvořit měkké a pevné odkazy v Linuxu Jak nainstalovat diskusní fórum na Debian 10 pomocí Nginx a Let's EncryptLinux