Ero sivun ”Systemd” versioiden välillä
Siirry navigaatioon
Siirry hakuun
Journalista jotain
pEi muokkausyhteenvetoa |
(Journalista jotain) |
||
Rivi 52: | Rivi 52: | ||
# Poista sshd.service automaattisesti käynnistettävien yksiköiden joukosta | # Poista sshd.service automaattisesti käynnistettävien yksiköiden joukosta | ||
systemctl disable sshd.service | systemctl disable sshd.service | ||
== Journal == | |||
Systemd:n mukana tulee journaliksi kutsuttu lokivarasto, johon kerätään muun | |||
muassa [[dmesg]] -komennonkin tulostama kernelin loki, [[syslog]] -viestit | |||
ja palveluiden ns. stdout/stderr -viestit. | |||
Viestit tallentuvat normaalisti <tt>/var/log/journal/</tt> -hakemistossa | |||
sijaitseviin tiedostoihin. Toisin kuin monet muut lokitiedostot, journalin | |||
tiedostot eivät ole [[tekstitiedosto]]ja. Tämän takia esimerkiksi | |||
perinteinen [[grep]] -työkalu ei suoraan sovellu niiden käsittelyyn yhtä | |||
hyvin kuin perinteisten syslog-palveluiden ylläpitämien tekstimuitoisten | |||
lokien käsittelyyn. | |||
Journalin sisältöä voi tarkastella systemd:n <tt>journalctl</tt> -komennolla. | |||
Yksinkertaisimmillaan komennon voi ajaa ilman parametreja: | |||
journalctl | |||
Näin kutsuttuna journalctl näyttää kaikki journaliin tallennetut viestit. | |||
Oletuksena viestit näytetään tekstinä, jonka asettelu muistuttaa perinteistä | |||
syslog-lokitiedostoissa käytettyä asettelua. Vaikka journalctl normaalisti | |||
terminaalissa ajettuna automaattisesti avaa lokiviestit [[less]]in sisään, | |||
voi sen tulosteen myös putkittaa muille prosesseille: | |||
journalctl | grep avahi-daemon | |||
Näin voisi esimerkiksi hakea lokista vain viestejä, jotka liittyvät | |||
Avahi-palveluun. Mikäli journalctl:n stdout ei ole terminaali, se ei | |||
käynnistä lessiä. | |||
=== Haku yksikön perusteella === | |||
Edellä esitettiin, kuinka grepin avulla voisi hakea journalista kaikki | |||
avahiin liittyvät viestit. Esitetty tapa kuitenkin on jonkin verran epätarkka, | |||
sillä myös muut kuin jonkun palvelun tekemät viestit voivat sisältää | |||
hakuun liittyvän palvelun nimen. | |||
Jokaiseen journaliin kirjattuun viestiin kuitenkin erikseen merkitään, | |||
mistä yksiköstä viesti on peräisin. Journalctl voi pyydettässä hyödyntää | |||
tätä tietoa näytettävien lokitietojen rajaamiseen: | |||
journalctl -u avahi-daemon | |||
Nyt journalctl:n pitäisi näyttää vain oikeasti avahi-daemon.servicesta peräisin | |||
olevat viestit, vaikka journalissa olisi muitakin merkkijonon | |||
<tt>avahi-daemon</tt> sisältäviä viestejä. | |||
=== Haku käynnistyskierroksen perusteella === | |||
Usein halutaan katsoa vain lokeja alkaen vain siitä hetkestä, kun kone viimeksi | |||
käynnistettiin. Tähän voi hyödyntää journalctl:n <tt>-b</tt> -valitsinta: | |||
journalctl -b | |||
Tämä näyttää kaikki nykyiseen käynnistyskierrokseen liittyvät viestit. | |||
Valitsimen voi yhdistää myös esimerkiksi edellä esiteltyyn <tt>-u</tt> -valitsimeen: | |||
journalctl -b -u avahi-daemon | |||
Oletuksena <tt>-b</tt> -valitsin näyttää nykyisen käynnistyskierroksen, mutta | |||
se voi myös ottaa vastaan parametrin, jolla valitaan joku muu käynnistyskierros. | |||
Parametrista ehkä tavallisimmin tarpeellinen on negatiivinen numero, joilla saa | |||
valittua uusia käynnistyskierroksia: | |||
journalctl -b -1 | |||
journalctl -b -2 | |||
Komennoista ylempi näyttää nykyistä edeltävän käynnistyskierroksen viestit ja | |||
jälkimmäinen sitä edeltävän kierroksen viestit. | |||
Myös positiivisia numeroita voi käyttää. Niissä esimerkiksi 1 vastaa vanhinta | |||
journaliin tallentunutta käynnistyskierrosta, ja 2 toiseksi vanhinta. | |||
Mikäli on vaikea tietää tai muistaa, monenko käynnistyskerran takana joku | |||
kiinnostava osa lokia on mutta haettu ajankohta on tiedosssa, voi ajankohtaa | |||
vastaavan käynnistyskierrosnumeron selvittää <tt>--list-boots</tt> -valitsimella: | |||
journalctl --list-boots | |||
=== Haku päivämäärän mukaan === | |||
Esimerkiksi tietyn viikon viestit voi hakea <tt>--since</tt> -valitsimen ja | |||
<tt>--until</tt> -valitsimen avulla: | |||
journalctl --since 2014-04-07 --until 2014-04-13 | |||
== Omat yksikkötiedostot == | == Omat yksikkötiedostot == |