Jikwaa ozi ndekọ n'okpuru Systemd Iji Journalctl [Nduzi zuru oke]


Systemd bụ sistemụ na-egbu egbu na onye njikwa ọrụ maka sistemụ Linux: nnọchi init daemon ezubere ịmalite usoro n'otu oge na buut sistemụ. A na-akwado ya ugbu a n'ọtụtụ nkesa isi ugbu a gụnyere Fedora, Debian, Ubuntu, OpenSuSE, Arch, RHEL, CentOS, wdg.

Na mbụ, anyị kọwara akụkọ dị n'azụ 'init' na 'systemd'; ebe anyị tụlere ihe abụọ daemons bụ, gịnị kpatara 'init' ji teknụzụ dị mkpa iji dochie 'systemd' yana akụkụ ndị bụ isi nke systemd.

Otu n'ime uru kachasị dị na sistemu sistemu init ndị ọzọ a na-ahụkarị bụ, nkwado maka njikwa sistemu nke etiti yana iji akwụkwọ ndekọ ndekọ. N'ime edemede a, anyị ga-amụta otu esi ejikwa ma lelee ozi ndekọ n'okpuru systemd site na iji journalctl iwu na Linux.

Ihe dị mkpa: Tupu ịga n'ihu na ntuziaka a, ị nwere ike ịmụ ka esi ejikwa ike na-arụ ọrụ ọhụrụ na sistemụ site na iji scripts shei na Linux. Agbanyeghị, ọ bụrụ na ị dị mma na ihe niile dị n'elu, gaa n'ihu na-agụ ya.

Na-ahazi edekọ maka ịnakọta ozi ndekọ n'okpuru Sistemu

journald bụ daemon nke na-achịkọta ma na-ede ndenye akwụkwọ akụkọ sitere na sistemụ niile; Ndị a bụ ozi boots, ozi sitere na kernel na site na syslog ma ọ bụ ngwa dị iche iche ma ọ na-echekwa ozi niile na ebe etiti - faịlụ akwụkwọ akụkọ.

Ị nwere ike ijikwa omume nke akwụkwọ akụkọ site na faịlụ nhazi ya: /etc/systemd/journald.conf nke a na-emepụta n'oge nchịkọta. Faịlụ a nwere nhọrọ ndị ị nwere ike ịgbanwe ụkpụrụ ha dabara na gburugburu ebe obibi gị.

N'okpuru ebe a bụ ihe atụ nke ihe faịlụ ahụ dị, elele site na iji iwu pusi.

$ cat /etc/systemd/journald.conf 
# See journald.conf(5) for details.

[Journal]
#Storage=auto
#Compress=yes
#Seal=yes
#SplitMode=uid
#SyncIntervalSec=5m
#RateLimitInterval=30s
#RateLimitBurst=1000
#SystemMaxUse=
#SystemKeepFree=
#SystemMaxFileSize=
#SystemMaxFiles=100
#RuntimeMaxUse=
#RuntimeKeepFree=
#RuntimeMaxFileSize=
#RuntimeMaxFiles=100
#MaxRetentionSec=
#MaxFileSec=1month
#ForwardToSyslog=yes
#ForwardToKMsg=no
#ForwardToConsole=no
#ForwardToWall=yes
#TTYPath=/dev/console
#MaxLevelStore=debug
#MaxLevelSyslog=debug
#MaxLevelKMsg=notice
#MaxLevelConsole=info
#MaxLevelWall=emerg

Rịba ama na ngwungwu dị iche iche na-arụnye ma jiri nhazi nhazi na /usr/lib/systemd/*.conf.d/ na nhazi oge na-agba ọsọ nwere ike ịchọta na /run/systemd/journald.conf.d/* .conf nke ị nwere ike ọ gaghị adị mkpa. jiri.

Ọnụ ọgụgụ nke nkesa Linux gụnyere Ubuntu na usoro ya dị ka Linux Mint anaghị eme ka nchekwa na-adịgide adịgide nke ozi buut na diski na ndabara.

Ọ ga-ekwe omume ịme nke a site na ịtọ nhọrọ Nchekwa ka ọ bụrụ na-adịgide adịgide dị ka egosiri n'okpuru. Nke a ga-emepụta/var/log/akwụkwọ ndekọ aha na a ga-echekwa faịlụ akwụkwọ niile n'okpuru ya.

$ sudo vi /etc/systemd/journald.conf 
OR
$ sudo nano /etc/systemd/journald.conf 
[Journal]
Storage=persistent

Maka ntọala ndị ọzọ, chọta ihe nhọrọ niile a ga-ahazi n'okpuru ngalaba [Journal] site na ịpị.

$ man journald.conf

Maka njikwa ndekọ ntụkwasị obi n'okpuru sistemu na-eji ọrụ akwụkwọ akụkọ, hụ na ntọala oge gụnyere mpaghara oge ziri ezi na sistemụ.

Iji lelee ntọala ụbọchị na oge dị ugbu a na sistemụ gị, pịnye.

$ timedatectl 
OR
$ timedatectl status

Local time: Thu 2017-06-15 13:29:09 EAT
Universal time: Thu 2017-06-15 10:29:09 UTC
RTC time: Thu 2017-06-15 10:29:09
Time zone: Africa/Kampala (EAT, +0300)
Network time on: yes
NTP synchronized: yes
 RTC in local TZ: no

Ka ịtọọ mpaghara oge ziri ezi yana ikekwe oge sistemụ, jiri iwu ndị dị n'okpuru.

$ sudo timedatectl set-timezone  Africa/Kampala
$ sudo timedatectl set-time “13:50:00”

journalctl bụ ngwa eji elele ọdịnaya nke akwụkwọ akụkọ sistemụ (nke ọrụ journald dere).

Ka igosi ndekọ niile anakọtara na-enweghị nzacha ọ bụla, pịnye.

$ journalctl
-- Logs begin at Wed 2017-06-14 21:56:43 EAT, end at Thu 2017-06-15 12:28:19 EAT
Jun 14 21:56:43 tecmint systemd-journald[336]: Runtime journal (/run/log/journal
Jun 14 21:56:43 tecmint kernel: Initializing cgroup subsys cpuset
Jun 14 21:56:43 tecmint kernel: Initializing cgroup subsys cpu
Jun 14 21:56:43 tecmint kernel: Initializing cgroup subsys cpuacct
Jun 14 21:56:43 tecmint kernel: Linux version 4.4.0-21-generic ([email )
Jun 14 21:56:43 tecmint kernel: Command line: BOOT_IMAGE=/boot/vmlinuz-4.4.0-21-
Jun 14 21:56:43 tecmint kernel: KERNEL supported cpus:
Jun 14 21:56:43 tecmint kernel:   Intel GenuineIntel
Jun 14 21:56:43 tecmint kernel:   AMD AuthenticAMD
Jun 14 21:56:43 tecmint kernel:   Centaur CentaurHauls
Jun 14 21:56:43 tecmint kernel: x86/fpu: xstate_offset[2]:  576, xstate_sizes[2]
Jun 14 21:56:43 tecmint kernel: x86/fpu: Supporting XSAVE feature 0x01: 'x87 flo
Jun 14 21:56:43 tecmint kernel: x86/fpu: Supporting XSAVE feature 0x02: 'SSE reg
Jun 14 21:56:43 tecmint kernel: x86/fpu: Supporting XSAVE feature 0x04: 'AVX reg
Jun 14 21:56:43 tecmint kernel: x86/fpu: Enabled xstate features 0x7, context si
Jun 14 21:56:43 tecmint kernel: x86/fpu: Using 'eager' FPU context switches.
Jun 14 21:56:43 tecmint kernel: e820: BIOS-provided physical RAM map:
Jun 14 21:56:43 tecmint kernel: BIOS-e820: [mem 0x0000000000000000-0x00000000000
Jun 14 21:56:43 tecmint kernel: BIOS-e820: [mem 0x0000000000090000-0x00000000000
Jun 14 21:56:43 tecmint kernel: BIOS-e820: [mem 0x0000000000100000-0x000000001ff
Jun 14 21:56:43 tecmint kernel: BIOS-e820: [mem 0x0000000020000000-0x00000000201
Jun 14 21:56:43 tecmint kernel: BIOS-e820: [mem 0x0000000020200000-0x00000000400

Ị nwere ike igosipụta ndepụta nke nọmba buut (n'ihe metụtara akpụkpọ ụkwụ dị ugbu a), ID ha, na akara oge nke ozi mbụ na nke ikpeazụ kwekọrọ na buut na nhọrọ --list-boots.

$ journalctl --list-boots

-1 9fb590b48e1242f58c2579defdbbddc9 Thu 2017-06-15 16:43:36 EAT—Thu 2017-06-15 1
 0 464ae35c6e264a4ca087949936be434a Thu 2017-06-15 16:47:36 EAT—Thu 2017-06-15 1 

Ka ilele ndenye akwụkwọ akụkọ site na buut dị ugbu a (nọmba 0), jiri -b gbanwee dị ka nke a (otu ihe dị ka ihe nlele n'elu).

$ journalctl -b

na ịhụ akwụkwọ akụkọ sitere na buut gara aga, jiri -1 ntụnye ikwu nwere nhọrọ -b dị ka n'okpuru.

$ journalctl -b -1

N'aka nke ọzọ, jiri ID boot dị ka nke a.

$ journalctl -b 9fb590b48e1242f58c2579defdbbddc9

Iji jiri oge n'ụdị Coordinated Universal Time (UTC), tinye nhọrọ --utc dị ka ndị a.

$ journalctl --utc

Ka ịhụ ndenye niile kemgbe otu ụbọchị na oge, dịka. Juun 15, 2017 na 8:15 nke ụtụtụ, pịnye iwu a.

$ journalctl --since "2017-06-15 08:15:00"
$ journalctl --since today
$ journalctl --since yesterday

Ka ilele ozi ndekọ na nso nso a (10 na ndabara), jiri ọkọlọtọ -n dị ka egosiri n'okpuru.

$ journalctl -n
$ journalctl -n 20 

Iji hụ naanị ozi kernel, dị ka mmepụta iwu dmesg, ị nwere ike iji ọkọlọtọ -k.

$ journalctl -k 
$ journalctl -k -b 
$ journalctl -k -b 9fb590b48e1242f58c2579defdbbddc9

Iji lelee ndenye akwụkwọ akụkọ niile maka otu nkeji, jiri mgba ọkụ -u dị ka ndị a.

$ journalctl -u apache2.service

Ka efu gbadaa na buut dị ugbu a, pịnye iwu a.

$ journalctl -b -u apache2.service

Iji gosi ndekọ sitere na buut gara aga, jiri nke a.

$ journalctl -b -1 -u apache2.service

N'okpuru bụ ụfọdụ iwu bara uru:

$ journalctl -u apache2.service  
$ journalctl -u apache2.service --since today
$ journalctl -u apache2.service -u nagios.service --since yesterday

Ka ilele ndekọ sitere na usoro akọwapụtara, kọwaa ya PID dị ka nke a.

$ journalctl _PID=19487
$ journalctl _PID=19487 --since today
$ journalctl _PID=19487 --since yesterday

Ka ilele ndekọ nke otu onye ọrụ ma ọ bụ otu mepụtara, kọwapụta onye ọrụ ma ọ bụ NJ otu dị ka nke a.

$ journalctl _UID=1000
$ journalctl _UID=1000 --since today
$ journalctl _UID=1000 -b -1 --since today

Iji gosi ndekọ niile nke faịlụ mepụtara (ikekwe nke enwere ike ime), dị ka D-Bus executable ma ọ bụ bash executables, pịnye naanị.

$ journalctl /usr/bin/dbus-daemon
$ journalctl /usr/bin/bash

Ị nwekwara ike nzacha mmepụta dabere na mkpa ozi ma ọ bụ ọkwa dị mkpa site na iji ọkọlọtọ -p. Ụkpụrụ enwere ike bụ: 0 - emerg, 1 - njikere, 2 - crit, 3 - err, 4 - ịdọ aka ná ntị, 5 - ọkwa, 6 - ozi, 7 - debug):

$ journalctl -p err

Iji kọwapụta oke, jiri usoro dị n'okpuru (emepe ka ịdọ aka ná ntị).

$ journalctl -p 1..4
OR
$ journalctl -p emerg..warning

Ị nwere ike na-ekiri ndekọ ka a na-eji nhọrọ -f na-ede ya (dị ka ọrụ ọdụ -f).

$ journalctl -f

Ọ bụrụ na ịchọrọ ijikwa usoro mmepụta nke ndenye akwụkwọ akụkọ, tinye ọkọlọtọ -o wee jiri nhọrọ ndị a: pusi, mbupụ, json, json-pretty, json-sse, mkpụmkpụ, mkpụmkpụ-iso, obere monotonic, nkenke-nkenke na verbose(lelee ihe nhọrọ pụtara na ibe nwoke:

Nhọrọ pusi na-egosi ezi ozi nke ntinye akwụkwọ akụkọ ọ bụla na-enweghị metadata ọ bụla (stampụ oge na ihe ndị ọzọ).

$ journalctl -b -u apache2.service -o cat

Ka ịlele faịlụ akwụkwọ akụkọ maka ịdị n'otu, jiri nhọrọ --verify. Ọ bụrụ na ihe niile dị mma, mmepụta kwesịrị igosi PASS.

$ journalctl --verify

PASS: /run/log/journal/2a5d5f96ef9147c0b35535562b32d0ff/system.journal                               
491f68: Unused data (entry_offset==0)                                                                
PASS: /run/log/journal/2a5d5f96ef9147c0b35535562b32d0ff/[email 9866c3d4d.journal
PASS: /run/log/journal/2a5d5f96ef9147c0b35535562b32d0ff/[email 5d8945a9e.journal
PASS: /run/log/journal/2a5d5f96ef9147c0b35535562b32d0ff/[email 1becab02f.journal
PASS: /run/log/journal/2a5d5f96ef9147c0b35535562b32d0ff/[email 01cfcedff.journal

Ị nwekwara ike igosipụta ojiji diski ugbu a nke faịlụ akwụkwọ akụkọ niile site na iji nhọrọ --disk-usage. Ọ na-egosi nchikota ojiji disk nke faịlụ akwụkwọ akụkọ niile echekwara na arụ ọrụ:

$ journalctl --disk-usage

Ka ihichapụ faịlụ ochie (nke echekwara) gbasoo iwu ndị a:

$ sudo journalctl --vacuum-size=50M  #delete files until the disk space they use falls below the specified size
$ sudo journalctl --vacuum-time=1years	#delete files so that all journal files contain no data older than the specified timespan
$ sudo journalctl --vacuum-files=4     #delete files so that no more than the specified number of separate journal files remain in storage location

N'ikpeazụ ma ọ dịghị ihe ọzọ, ị nwere ike ịkụziri journald ka ọ gbanwee faịlụ akwụkwọ akụkọ site na iji nhọrọ --rotate. Rịba ama na ntuziaka a anaghị alaghachi ruo mgbe arụchara ọrụ ntụgharị:

$ sudo journalctl --rotate

Maka ntuziaka ojiji dị omimi na nhọrọ, lelee ibe journalctl man dị ka ndị a.

$ man journalctl

Lelee ụfọdụ akụkọ bara uru.

  1. Jikwaa Usoro mmalite na ọrụ (SysVinit, Systemd and Upstart)
  2. Petiti – Ngwá Ọrụ Analysis Log Source maka Linux SysAdmins
  3. Otu esi ahazi na jikwaa ntugharị ndekọ site na iji Logrotate na Linux
  4. lnav - Lelee ma nyochaa ndekọ ndekọ Apache site na Linux Terminal

Nke ahụ bụ maka ugbu a. Jiri nzaghachi si n'okpuru jụọ ajụjụ ọ bụla ma ọ bụ tinye echiche gị na isiokwu a.