Systemd on tipptasemel süsteemide ja teenuste haldur Linuxi süsteemidele: init-deemoni asendus, mis on ette nähtud protsesside paralleelseks käivitamiseks süsteemi käivitamisel. Seda toetatakse nüüd paljudes praegustes levitustes, sealhulgas Fedora, Debian, Ubuntu, OpenSuSE, Arch, RHEL, CentOS jne.
Varem selgitasime lugu "init" ja "systemd"; kus me arutasime, mis need kaks deemonit on, miks "selles"Tehniliselt on vaja asendada"süsteemne"Ning ka süsteemi põhijooned.
Süsteemi üks peamisi eeliseid teiste tavaliste algatussüsteemide ees on süsteemi ja protsesside logimise tsentraliseeritud haldamise tugi ajakirja abil. Selles artiklis õpime, kuidas hallata ja vaadata logisõnumeid systemd abil journalctl käsk Linuxis.
Oluline: Enne selles juhendis edasi liikumist võiksite õppida haldama "Systemd" teenused ja üksused, mis kasutavad "Systemctl" käsk ja ka luua ja käivitada süsteemis uusi teenindusüksusi shelliskriptide kasutamine Linuxis. Kui aga kõik ülaltoodu sobib, jätkake lugemist.
ajakiri on deemon, mis kogub ja kirjutab päevikukirjeid kogu süsteemist; need on sisuliselt alglaadimissõnumid, sõnumid kernelist ja syslogist või erinevatest rakendustest ning see salvestab kõik sõnumid kesksesse asukohta - ajakirjafaili.
Saate oma käitumist kontrollida ajakiri vaikimisi konfiguratsioonifaili kaudu: /etc/systemd/journald.conf mis genereeritakse kompileerimise ajal. See fail sisaldab valikuid, mille väärtusi saate muuta vastavalt kohalikele keskkonnanõuetele.
Allpool on näidis selle kohta, kuidas fail välja näeb kassi käsk.
$ cat /etc/systemd/journald.conf
Journaldi konfiguratsioonifail
# Vaadake üksikasju journald.conf (5). [Ajakiri] #Salvestusruum = automaatne. #Kompress = jah. #Hüljes = jah. #SplitMode = uid. #SyncIntervalSec = 5 m. #RateLimitInterval = 30 sekundit. #RateLimitBurst = 1000. #SystemMaxUse = #SystemKeepFree = #SystemMaxFileSize = #SystemMaxFiles = 100. #RuntimeMaxUse = #RuntimeKeepFree = #RuntimeMaxFileSize = #RuntimeMaxFiles = 100. #MaxRetentionSec = #MaxFileSec = 1 kuu. #ForwardToSyslog = jah. #ForwardToKMsg = ei. #ForwardToConsole = ei. #ForwardToWall = jah. #TTYPath =/dev/konsool. #MaxLevelStore = silumine. #MaxLevelSyslog = silumine. #MaxLevelKMsg = märkus. #MaxLevelConsole = info. #MaxLevelWall = tekkima.
Pange tähele, et mitmesugused paketid installivad ja kasutavad konfiguratsiooniekstrakte /usr/lib/systemd/*.conf.d/ ja tööaja konfiguratsioonid leiate aadressilt /run/systemd/journald.conf.d/*.conf mida te ei pruugi tingimata kasutada.
Mitmed Linuxi distributsioonid, sealhulgas Ubuntu ja selle derivaadid, nagu Linux Mint, ei võimalda alglaadimissõnumite püsivat salvestamist kettale vaikimisi.
Seda on võimalik lubada, seadistades „Ladustamine"Võimalus"püsiv" nagu allpool näidatud. See loob /var/log/journal kataloog ja kõik ajakirjafailid salvestatakse selle alla.
$ sudo vi /etc/systemd/journald.conf VÕI. $ sudo nano /etc/systemd/journald.conf
[Ajakiri] Säilitamine = püsiv.
Täiendavate sätete jaoks leidke kõigi suvandite tähendus, mis peaksid olema jaotises "[Ajakiri]" sektsiooni tippides.
$ man journald.conf.
Usaldusväärse logihalduse jaoks süsteemis, kasutades ajakirjateenust, veenduge, et aja seaded, sealhulgas ajavöönd, on süsteemis õiged.
Süsteemi praeguste kuupäeva- ja kellaajaseadete vaatamiseks tippige.
$ timedatectl VÕI. $ timedatectl status Kohalik aeg: neljapäev 2017-06-15 13:29:09 EAT. Universaalne aeg: neljapäev 2017-06-15 10:29:09 UTC. RTC aeg: neljapäev 2017-06-15 10:29:09. Ajavöönd: Aafrika/Kampala (EAT, +0300) Võrgu aeg sees: jah. NTP sünkroonitud: jah RTC kohalikus TZ -s: ei.
Õige ajavööndi ja võimaluse korral süsteemi aja määramiseks kasutage allolevaid käske.
$ sudo timedatectl set-timezone Africa/Kampala. $ sudo timedatectl seadistusaeg “13:50:00”
journalctl on utiliit, mida kasutatakse systemd ajakirja (mille kirjutab journald service) sisu vaatamiseks.
Kõigi kogutud logide kuvamiseks ilma filtreerimiseta tippige.
$ journalctl.
Vaadake logisõnumeid
-Logid algavad kolmapäeval 2017-06-14 21:56:43 EAT, lõpevad neljapäeval 2017-06-15 12:28:19 EAT. 14. juuni 21:56:43 tecmint systemd-journald [336]: Käitusajakiri (/run/log/journal. 14. juuni 21:56:43 tecminti tuum: cgroup subsys cpuseti lähtestamine. 14. juuni 21:56:43 tecmintituum: cgroup subsys cpu initsialiseerimine. 14. juuni 21:56:43 tecmintituum: cgroup subsys cpuacct initsialiseerimine. 14. juuni 21:56:43 tecminti tuum: Linuxi versioon 4.4.0-21-geneeriline ([e -post kaitstud]) 14. juuni 21:56:43 tecminti tuum: Käsurea: BOOT_IMAGE =/boot/vmlinuz-4.4.0-21- 14. juuni 21:56:43 tecminti tuum: KERNELi toetatud protsess: 14. juuni 21:56:43 tecminti tuum: Intel GenuineIntel. 14. juuni 21:56:43 tecmintituum: AMD AuthenticAMD. 14. juuni 21:56:43 tecmintituum: Centaur CentaurHauls. 14. juuni 21:56:43 tecminti tuum: x86/fpu: xstate_offset [2]: 576, xstate_sizes [2] 14. juuni 21:56:43 tecminti tuum: x86/fpu: XSAVE -funktsiooni toetav funktsioon 0x01: 'x87 flo. 14. juuni 21:56:43 tecminti tuum: x86/fpu: XSAVE -funktsiooni toetamine 0x02: 'SSE reg. 14. juuni 21:56:43 tecmintituum: x86/fpu: XSAVE -funktsiooni toetav funktsioon 0x04: 'AVX reg. 14. juuni 21:56:43 tecmintituum: x86/fpu: lubatud xstate funktsioonid 0x7, kontekst si. 14. juuni 21:56:43 tecmintituum: x86/fpu: "innukate" FPU kontekstilülitite kasutamine. 14. juuni 21:56:43 tecminti tuum: e820: BIOS-i pakutav füüsilise RAM-i kaart: 14. juuni 21:56:43 tecminti tuum: BIOS-e820: [mem 0x0000000000000000-0x00000000000. 14. juuni 21:56:43 tecminti tuum: BIOS-e820: [mem 0x0000000000090000-0x00000000000. 14. juuni 21:56:43 tecminti tuum: BIOS-e820: [mem 0x0000000000100100-0x000000001ff. 14. juuni 21:56:43 tecminti tuum: BIOS-e820: [mem 0x0000000020000000-0x00000000201. 14. juuni 21:56:43 tecminti tuum: BIOS-e820: [mem 0x0000000020200000-0x00000000400.
Saate kuvada alglaadimisnumbrite loendi (praeguse alglaadimise suhtes), nende ID -d ning alglaadimisele vastava esimese ja viimase teate ajatemplid -nimekiri-saapad
valik.
$ journalctl --list-boots -1 9fb590b48e1242f58c2579defdbbddc9 Neljapäev 2017-06-15 16:43:36 EAT-N 2017-06-15 1 0 464ae35c6e264a4ca087949936be434a Neljapäev 2017-06-15 16:47:36 EAT-R 2017-06- 15 1
Praeguse alglaadimise (number 0) päevikukirjete vaatamiseks kasutage -b
lüliti niimoodi (sama nagu ülaltoodud näidisväljund).
$ journalctl -b.
ja eelmise alglaadimise ajakirja vaatamiseks kasutage -1
suhteline osuti tähega -b
valik nagu allpool.
$ journalctl -b -1.
Teise võimalusena kasutage alglaadimise ID -d.
$ journalctl -b 9fb590b48e1242f58c2579defdbbddc9.
Kui soovite kasutada aega koordineeritud universaalse aja (UTC) vormingus, lisage -jne
valikud järgmiselt.
$ journalctl -jne.
Et näha kõiki kirjeid alates teatud kuupäevast ja kellaajast, nt. Sisestage see käsk 15. juunil 2017 kell 8:15.
$ journalctl-alates "2017-06-15 08:15:00" $ journalctl -tänapäeval. $ journalctl -juba eile.
Hiljutiste logisõnumite (vaikimisi 10) vaatamiseks kasutage -n
lipp nagu allpool näidatud.
$ journalctl -n. $ journalctl -n 20
Ainult kerneli sõnumite nägemiseks dmesg käsk väljundit, saate kasutada -k
lipp.
$ journalctl -k $ journalctl -k -b $ journalctl -k -b 9fb590b48e1242f58c2579defdbbddc9.
Kõigi konkreetse üksuse päevikukirjete vaatamiseks kasutage -u
vahetada järgmiselt.
$ journalctl -u apache2.teenus.
Praeguse alglaadimise nullimiseks tippige see käsk.
$ journalctl -b -u apache2.teenus.
Eelmise alglaadimise logide kuvamiseks kasutage seda.
$ journalctl -b -1 -u apache2.teenus.
Allpool on mõned muud kasulikud käsud:
$ journalctl -u apache2.service $ journalctl -u apache2.service -juba täna. $ journalctl -u apache2.service -u nagios.service -juba eile.
Konkreetse protsessi loodud logide vaatamiseks määrake selle PID -kood.
$ journalctl _PID = 19487. $ journalctl _PID = 19487 -juba täna. $ journalctl _PID = 19487 -juba eile.
Konkreetse kasutaja või rühma loodud logide vaatamiseks määrake selle kasutaja või grupi ID.
$ journalctl _UID = 1000. $ journalctl _UID = 1000 -juba täna. $ journalctl _UID = 1000 -b -1 -juba täna.
Kõigi faili (võib-olla ka käivitatava faili), näiteks D-Busi käivitatava või bash-käivitatava faili kuvamiseks sisestage lihtsalt logid.
$ journalctl/usr/bin/dbus-daemon. $ journalctl/usr/bin/bash.
Väljundit saate filtreerida ka sõnumiprioriteetide või prioriteedivahemike alusel, kasutades -lk
lipp. Võimalikud väärtused on järgmised: 0 - esilekerkimine, 1 - hoiatus, 2 - kriitiline, 3 - viga, 4 - hoiatus, 5 - märguanne, 6 - teave, 7 - silumine):
$ journalctl -p viga.
Vahemiku määramiseks kasutage allolevat vormingut (ilmub hoiatuseks).
$ journalctl -p 1..4. VÕI. $ journalctl -p emerg..hoiatus.
Saate praktiliselt vaadata logisid nende kirjutamise ajal -f
valik (sarnane saba -f funktsionaalsus).
$ journalctl -f.
Kui soovite juhtida päevikukirjete väljundvormingut, lisage -o
märgistage ja kasutage neid valikuid: kass, eksport, json, json-pretty, json-sse, lühike, lühike iso, lühike monotoonne, lühike ja täpne (kontrollige valikute tähendust man-lehel:
kass suvand näitab iga päevikukirje tegelikku sõnumit ilma metaandmeteta (ajatempel jne).
$ journalctl -b -u apache2.teenus -o kass.
Ajakirjafaili sisemise järjepidevuse kontrollimiseks kasutage -kontrollida
valik. Kui kõik on korras, peaks väljund näitama PASS.
$ journalctl --verify PASS: /run/log/journal/2a5d5f96ef9147c0b35535562b32d0ff/system.journal 491f68: Kasutamata andmed (entry_offset == 0) PASS:/run/log/journal/2a5d5f96ef9147c0b35535562b[e -post kaitstud]9866c3d4d.ajakiri. PASS:/run/log/journal/2a5d5f96ef9147c0b35535562b32d0ff/[e -post kaitstud]5d8945a9e.ajakiri. PASS:/run/log/journal/2a5d5f96ef9147c0b35535562b32d0ff/[e -post kaitstud]1becab02f.ajakiri. PASS:/run/log/journal/2a5d5f96ef9147c0b35535562b32d0ff/[e -post kaitstud]01cfcedff.journal.
Samuti saate kuvada kõigi ajakirjafailide praeguse kettakasutuse -ketta kasutamine
võimalusi. See näitab kõigi arhiveeritud ja aktiivsete ajakirjafailide kettakasutuse summat:
$ journalctl-ketta kasutamine.
Vanade (arhiveeritud) ajakirjafailide kustutamiseks käivitage järgmised käsud:
$ sudo journalctl-vaakum-size = 50M #kustutage faile, kuni nende kasutatav kettaruum langeb alla määratud suuruse. $ sudo journalctl --vacuum-time = 1years #delete failid, nii et kõik ajakirjafailid ei sisaldaks määratud ajavahemikust vanemaid andmeid. $ sudo journalctl --vacuum-files = 4 #kustutage faile, nii et salvestuskohta ei jääks rohkem kui määratud arv eraldi ajakirjafaile.
Viimaseks, kuid mitte vähem tähtsaks, saate juhendile journald ajakirjafaile pöörata -pöörlema
valik. Pange tähele, et see direktiiv ei naase enne, kui pöörlemistoiming on lõpetatud:
$ sudo journalctl -pöörle.
Põhjaliku kasutusjuhendi ja valikute vaatamiseks vaadake ajakiri manl lehte järgmiselt.
$ man journalctl.
Vaadake mõnda kasulikku artiklit.
See selleks korraks. Kasutage alltoodud tagasisidet, et esitada sellel teemal küsimusi või lisada teile mõtteid.