Journalctl
Sissejuhatus
journalctl on käsk Systemd logide kuvamiseks. systemd kasutab systemd-journald teenust andmete logimiseks. Teenus kogub informatsiooni kerneli teadetest üle kmsg, tavapärastest süsteemi logidest Syslog-ilt pärides, kasutades oma enda API't, süsteemi teenuste STDOUT ja STDERR-ist ja Auditd salvestustest.
journalctl on väga kasulik tööriist Linuxi kasutaja varamus, sest see tsentraliseerib paljude protsesside logid ühe käsu alla olenemata nende lähteasukohast.
Journalctl
systemd-journald kirjutab vaikimisi logifaile "/var/log/journal/machine-id/" alla. Logifailide sufiks on .journal. Vigase või pooliku faili puhul .journal~. Juhul kui eelmainitud tee pole saadaval või konfiguratsioonis on nimelt nii öeldud, kirjutab teenus püsimatuid logifaile ( kestavad järgmise taaskäivituseni ) kausta "/run/log/journal/machine-id/" .
Kasutamine
Tavapäraselt näevad kõiki logifaile ainult juurkasutajad või kasutajad kes on gruppides "wheel" või "adm". Teistele kasutajatele on ainult nähtavad nende enda kasutaja privaatsed logid. Lisades kasutaja systemd-journal gruppi, võimaldab neil lugeda ka süsteemi logifaile, aga ei anna kirjutamisõigust nende failide üle.
journalctl logiread on klassifitseeritud analoogselt syslog logide katogeriseerimise protokolliga. Priority level ( Probleemide raskusastmed syslog artiklis ), näitab tähelepanu nõudmise taset, ja Facility on kood mis näitab mis tüüpi protsessilt logirida pärit on.
journalctl väljund kuvatakse kasutades Less-i. Kriitilised read on värvitud punaseks ja muidu tähelepanu võibolla vajavad read on tavapärasest eredamas tekstis.
Sisestades oma soovitud terminali emulaatorisse käsu journalctl
kuvatakse kõik logid, millel on kasutajal lugemisõigus. Ilma lisaparameetriteta võib järgnev väljund olla väga raskesti loetav, sest olenevalt Linuxi kasutusest, konfiguratsioonifailis sätitud logifailide kõvakettakasutuse piirangutest ja logide hoidmise ajalisest piirangust, võib väljund olla väga pikk ulatudes tavapärase kasutuse puhul mitmete miljonite ridadeni.
Väljundi filtreerimine
Filtreerimaks väljundit on olemas mitmeid võtmeid, millest kasulikumad järgnevad :
journalctl -b
- tagastab terve logi viimasest käivitusest saadik
-b võtmele võib lisada järgi arvu, mis näitab mitmenda käivituse logi näidata kronoloogilises järjekorras.
journalctl -b 1
- tagastab esimese käivituse logi, mis on logiraamatus saadaval
Kui anda -b võtmele miinusmärgiga arv siis tagastatakse praegusest nii mitmes tahapoole jääv logi kui miinusmärgi järel arv.
journalctl -b -2
- tagastab praegusest kahe võrra tahapoole jääv logi, ehk üleeelmise.
journalctl-il on ka --since ( -S ) ja --until ( -U ) võtmed, millega saab filtreerida väljundit näitamaks logiridu mingist ajast alates kuni mingi ajani.
journalctl --since "20 min ago"
võijournalctl --since="2016-12-01 12:01:01" --until "2016-12-08"
- tagastab logi alates 20 minutit tagasi või alates esimesest detsembrist 2016 (soovi korral võib kellaaja ka määrata, vaikimisi 00:00:00) kuni kaheksanda detsembrini.
Jälgimaks uusi sissetulevaid teateid reaalajas võib kasutada -f võtit.
journalctl -f
- paneb terminali journalctl kuulama, kirjutades välja kõik uued logiteated.
Selleks, et vaadata ainult kerneli teateid on -k võti.
journalctl -k -f | grep "IN=.*OUT=.*"
Et vaadata kindla teenuse logiridu on olemas -u <service> võti.
journalctl -f -u pulseaudio.service
- näitab reaalajas Pulseaudio teenuse logisid.
Kui on vaja filtreerida prioriteedi järgi logisid, saab kasutada võtit -p <“emerg”, “alert”, “crit”, “err”, “warning”, “notice”, “info”, “debug”> .
journalctl -b -p crit
- näitab viimasest käivitusest kriitilise prioriteediga logisid.
Kui on vaja näidata logisid vastupidises järjekorras alustades värskeimast saab kasutada -r.
journalctl -b -1 -r -u arno-iptables-firewall.service
- näitab eelmise käivituse Arno iptables tulemüüri logisid alustades viimasest.