Ṣakoso awọn Awọn ifiranṣẹ Wọle Labẹ Systemd Lilo Journalctl [Itọsọna Okeerẹ]
Systemd jẹ eto gige-eti ati oluṣakoso iṣẹ fun awọn eto Linux: rirọpo inem daemon ti a pinnu lati bẹrẹ awọn ilana ni afiwe ni bata eto. O ti ni atilẹyin ni bayi ni nọmba kan ti pinpin ojulowo lọwọlọwọ pẹlu Fedora, Debian, Ubuntu, OpenSuSE, Arch, RHEL, CentOS, abbl.
Ni iṣaaju lori, a ṣalaye itan lẹhin 'init' ati 'systemd'; nibiti a ti jiroro kini daemons meji naa jẹ, kilode ti ‘init’ imọ-ẹrọ nilo lati paarọ rẹ pẹlu ‘systemd’ bii awọn ẹya akọkọ ti eto.
Ọkan ninu awọn anfani akọkọ ti eto lori awọn ọna init miiran ti o wọpọ ni, atilẹyin fun iṣakoso aarin ti eto ati awọn ilana gedu nipa lilo iwe iroyin. Ninu nkan yii, a yoo kọ bi a ṣe le ṣakoso ati wo awọn ifiranṣẹ log labẹ eto nipa lilo aṣẹ journalctl ni Linux.
Pataki: Ṣaaju gbigbe siwaju ninu itọsọna yii, o le fẹ kọ ẹkọ bii o ṣe le ṣakoso ati ṣẹda awọn ẹka iṣẹ tuntun ni siseto ni lilo awọn iwe afọwọkọ ikarahun ni Linux. Sibẹsibẹ, ti o ba dara pẹlu gbogbo awọn loke, tẹsiwaju kika nipasẹ.
Tito leto Journald fun Gbigba Awọn ifiranṣẹ Wọle Labẹ Systemd
journald jẹ daemon eyiti o ṣajọ ati kikọ awọn titẹ sii akọọlẹ lati gbogbo eto; iwọnyi jẹ awọn ifiranṣẹ bata bata, awọn ifiranṣẹ lati inu ekuro ati lati syslog tabi ọpọlọpọ awọn ohun elo ati pe o tọju gbogbo awọn ifiranṣẹ ni ipo aarin - faili iwe iroyin.
O le ṣakoso ihuwasi ti journald nipasẹ faili iṣeto aiyipada rẹ: /etc/systemd/journald.conf eyiti o jẹ ipilẹṣẹ ni akoko sakojo. Faili yii ni awọn aṣayan ti awọn iye ti o le yipada lati ba awọn ibeere ayika agbegbe rẹ jẹ.
Ni isalẹ jẹ apẹrẹ ti ohun ti faili naa dabi, ti a wo ni lilo aṣẹ ologbo.
$ 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
Akiyesi pe ọpọlọpọ awọn fifi sori ẹrọ package ati lo awọn iyokuro iṣeto ni /usr/lib/systemd/*.conf.d/ ati ṣiṣe awọn atunto akoko ṣiṣe ni a le rii ni /run/systemd/journald.conf.d/*.conf eyiti o le ma ṣe dandan lilo.
Nọmba awọn pinpin kaakiri Linux pẹlu Ubuntu ati pe o jẹ awọn itọsẹ bii Mint Linux ko ṣe mu ifipamọ titọju awọn ifiranṣẹ bata lori disiki nipasẹ aiyipada.
O ṣee ṣe lati jẹki eyi nipa siseto aṣayan\"Ibi ipamọ" si\"jubẹẹlo" bi a ṣe han ni isalẹ. Eyi yoo ṣẹda itọsọna/var/log/iwe akọọlẹ ati gbogbo awọn faili akọọlẹ yoo wa ni fipamọ labẹ rẹ.
$ sudo vi /etc/systemd/journald.conf OR $ sudo nano /etc/systemd/journald.conf
[Journal] Storage=persistent
Fun awọn eto afikun, wa itumọ gbogbo awọn aṣayan eyiti o yẹ ki o tunto labẹ apakan “[Iwe akọọlẹ]” nipa titẹ.
$ man journald.conf
Fun iṣakoso log igbẹkẹle labẹ eto nipa lilo iṣẹ iwe akọọlẹ, rii daju pe awọn eto akoko pẹlu agbegbe aago jẹ deede lori eto naa.
Lati le wo ọjọ ati lọwọlọwọ eto lọwọlọwọ lori eto rẹ, tẹ.
$ 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
Lati ṣeto agbegbe to tọ ati ṣeeṣe akoko eto, lo awọn aṣẹ ni isalẹ.
$ sudo timedatectl set-timezone Africa/Kampala $ sudo timedatectl set-time “13:50:00”
journalctl jẹ ohun elo ti a lo lati wo awọn akoonu ti iwe-akọọlẹ eto (eyiti a kọ nipasẹ iṣẹ akọọlẹ).
Lati fihan gbogbo awọn àkọọlẹ ti a kojọ laisi asẹ eyikeyi, tẹ.
$ 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
O le ṣe afihan atokọ ti awọn nọmba bata (ibatan si bata lọwọlọwọ), awọn ID wọn, ati awọn akoko akoko ti ifiranṣẹ akọkọ ati ikẹhin ti o baamu pẹlu bata pẹlu aṣayan --list-boot
.
$ 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
Lati wo awọn titẹ sii iwe akọọlẹ lati bata lọwọlọwọ (nọmba 0), lo -b
bii bii (kanna bii iṣapẹẹrẹ apẹẹrẹ loke).
$ journalctl -b
ati lati wo iwe iroyin lati bata ti tẹlẹ, lo -1
itọka ibatan pẹlu aṣayan -b
bi isalẹ.
$ journalctl -b -1
Ni omiiran, lo ID bata bi eleyi.
$ journalctl -b 9fb590b48e1242f58c2579defdbbddc9
Lati lo akoko ni ọna kika Universal Universal Time (UTC), ṣafikun awọn aṣayan --utc
bi atẹle.
$ journalctl --utc
Lati wo gbogbo awọn titẹ sii lati ọjọ ati akoko kan pato, fun apẹẹrẹ. Okudu 15th, 2017 ni 8: 15 AM, tẹ aṣẹ yii.
$ journalctl --since "2017-06-15 08:15:00" $ journalctl --since today $ journalctl --since yesterday
Lati wo awọn ifiranṣẹ wọle aipẹ (10 nipa aiyipada), lo Flag -n
bi a ṣe han ni isalẹ.
$ journalctl -n $ journalctl -n 20
Lati wo awọn ifiranṣẹ ekuro nikan, ti o jọra si aṣẹ aṣẹ dmesg, o le lo asia -k
.
$ journalctl -k $ journalctl -k -b $ journalctl -k -b 9fb590b48e1242f58c2579defdbbddc9
Lati le wo gbogbo awọn titẹ sii iwe akọọlẹ fun apakan kan, lo iyipada -u
bi atẹle.
$ journalctl -u apache2.service
Lati odo si isalẹ bata lọwọlọwọ, tẹ aṣẹ yii.
$ journalctl -b -u apache2.service
Lati fihan awọn akọọlẹ lati bata ti tẹlẹ, lo eyi.
$ journalctl -b -1 -u apache2.service
Ni isalẹ wa diẹ ninu awọn ofin to wulo:
$ journalctl -u apache2.service $ journalctl -u apache2.service --since today $ journalctl -u apache2.service -u nagios.service --since yesterday
Lati wo awọn àkọọlẹ ti ipilẹṣẹ nipasẹ ilana kan pato, ṣọkasi PID bi eleyi.
$ journalctl _PID=19487 $ journalctl _PID=19487 --since today $ journalctl _PID=19487 --since yesterday
Lati wo awọn akọọlẹ ti ipilẹṣẹ nipasẹ olumulo kan tabi ẹgbẹ kan, ṣafihan pe o jẹ olumulo tabi ID ẹgbẹ bi eleyi.
$ journalctl _UID=1000 $ journalctl _UID=1000 --since today $ journalctl _UID=1000 -b -1 --since today
Lati ṣe afihan gbogbo awọn akọọlẹ ti ipilẹṣẹ nipasẹ faili kan (o ṣee ṣe ṣiṣe), gẹgẹ bi pipaṣẹ D-Bus tabi awọn alaṣẹ ṣiṣe bash, tẹ ni rọọrun.
$ journalctl /usr/bin/dbus-daemon $ journalctl /usr/bin/bash
O tun le ṣe àlẹmọ iṣẹjade ti o da lori awọn ayo ifiranṣẹ tabi awọn sakani pataki ni lilo asia -p
. Awọn iye ti o le ṣee ṣe ni:
$ journalctl -p err
Lati ṣalaye ibiti, lo ọna kika ni isalẹ (farahan si ikilọ).
$ journalctl -p 1..4 OR $ journalctl -p emerg..warning
O le fẹrẹ wo awọn akọọlẹ bi wọn ti n kọ pẹlu aṣayan -f
(iru si iṣẹ iru -f).
$ journalctl -f
Ti o ba fẹ ṣakoso ọna kika iṣẹjade ti awọn titẹ sii akọọlẹ, ṣafikun Flag -o
ki o lo awọn aṣayan wọnyi: ologbo, okeere, json, json-lẹwa, json-sse, kukuru, kukuru-iso, kukuru-monotonic, kuru-kongẹ ati verbose (ṣayẹwo itumọ awọn aṣayan ninu oju-iwe ọkunrin naa:
Aṣayan ologbo fihan ifiranṣẹ gangan ti titẹsi iwe akọọlẹ kọọkan laisi metadata eyikeyi (timestamp ati bẹbẹ lọ).
$ journalctl -b -u apache2.service -o cat
Lati ṣayẹwo faili iwe akọọlẹ fun aitasera ti inu, lo aṣayan --veVE
. Ti gbogbo rẹ ba dara, iṣẹjade yẹ ki o tọka PASS kan.
$ 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
O tun le ṣe afihan lilo disiki lọwọlọwọ ti gbogbo awọn faili akọọlẹ pẹlu awọn aṣayan -disk-lilo
. O ṣe afihan iye ti lilo disiki ti gbogbo iwe ati awọn faili iwe akọọlẹ ti n ṣiṣẹ:
$ journalctl --disk-usage
Lati paarẹ awọn faili akọọlẹ atijọ (ti a fipamọ sinu) ṣiṣe awọn ofin ni isalẹ:
$ 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
Ni ikẹhin ṣugbọn ko kere ju, o le paṣẹ fun journald lati yi awọn faili akọọlẹ pẹlu iyipo --rotate
. Akiyesi pe itọsọna yii ko pada titi ti iṣẹ yiyi yoo fi pari:
$ sudo journalctl --rotate
Fun itọsọna lilo jinlẹ ati awọn aṣayan, wo oju-iwe eniyan journalctl bi atẹle.
$ man journalctl
Ma ṣayẹwo diẹ ninu awọn nkan to wulo.
- Ṣiṣakoso ilana Ibẹrẹ Eto ati Awọn Iṣẹ (SysVinit, Systemd and Upstart)
- Petiti - Ohun elo Ṣiṣayẹwo Wọle Orisun Ṣiṣii fun Linux SysAdmins
- Bii o ṣe le Ṣeto ati Ṣakoso Yiyi Wọle Lilo Logrotate ni Linux
- lnav - Wo ati Ṣe itupalẹ Awọn àkọọlẹ Apache lati Terminal Linux kan
Iyẹn ni fun bayi. Lo awọn esi lati isalẹ lati beere eyikeyi ibeere tabi ṣafikun awọn ero lori koko yii.