Gedurende vele jaren worden het kernelsysteem en de logs afgehandeld door een hulpprogramma genaamd syslogd. De meeste op Linux gebaseerde besturingssystemen zijn verhuisd naar systemd, dat wordt geleverd met een ander logboek, journald. Om met deze logboeken te werken, kunt u het hulpprogramma journalctl gebruiken.
Geef de gebruiker toestemming om systeemlogboeken te lezen
Alleen gebruikers die tot de groepen "adm" of "systemd-journal" behoren, kunnen de systemd-logboeken lezen. Distributies zoals Ubuntu voegen u al als gebruiker toe aan de adm-groep.
Open een terminalemulator en typ de volgende opdracht:
groups
Als je het ziet "adm"Of"systemd-journaalIn de uitvoer kunt u de rest van de stappen in deze sectie overslaan. Voeg jezelf anders toe aan een groep.”adm'.
sudo adduser $USER adm
U moet uw inlogsessie opnieuw starten om deze wijziging (uitloggen en inloggen) door te voeren. Als u dit om verschillende redenen niet kunt doen, gebruik dan deze opdracht om u aan te melden bij de nieuwe groep zonder de grafische sessie opnieuw te starten.
newgrp adm
Sluit het laatste venster niet. U maakt nu deel uit van de adm-groep - in het werkvenster van de terminal, maar niet in de grafische sessie. Als u op dit moment een nieuwe Terminal opent, is uw gebruiker niet langer aangemeld bij de kennisgroep.
Controleer of Journaal bezig is
systemd-logboeken kunnen statisch of vluchtig zijn. Op Ubuntu en andere distributies wordt het standaard behouden. In Debian 9 is het vluchtig, wat betekent dat het alleen in het geheugen blijft (niet op de schijf) en verdwijnt bij afsluiten of opnieuw opstarten. Voer de volgende opdracht in.
journalctl --list-boots
Als er hier veel inzendingen zijn, hoeft u niets anders te doen. Dit betekent dat de tijdschriften op schijf (permanent) worden bewaard. Als je maar één inzending krijgt, zal het tijdschrift schokkerig zijn. Je moet het veranderen in continu.
sudo sed -i '/Storage/ c\Storage=persistent' /etc/systemd/journald.conf
Selecteer "Elke opstartrecord" om te bekijken
Meestal wilt u het huidige opstartrecord zien. In zeldzame gevallen wilt u de voorgeschiedenis zien, wanneer er iets mis is gegaan, bijvoorbeeld na een systeemcrash.
Om de geschiedenis van de huidige opstart te bekijken:
journalctl -b 0
Gebruik voor de vorige keer opstarten '-1' in plaats van '0', voor twee keer opstarten, '-2' enzovoort.
journalctl -b -1
Navigeer en zoek door het systeemregister
Na het openen van de geschiedenis met journalctl, kunt u door de tekst navigeren met behulp van de pijltjestoetsen en de toetsen PAGINA OMHOOG of PAGINA OMLAAG. Andere handige toetsen zijn:
> Om naar het einde van de uitvoer te gaan.
< Om naar het begin van de uitvoer te gaan.
/ Zoeken naar een reeks tekst. Nadat u op de slash-toets hebt gedrukt, voert u de tekenreeks in waarnaar u wilt zoeken, gevolgd door Enter. String is hoofdlettergevoelig, dus NETWORK zal geen NETWORK-strings vinden. Het zoeken begint vanaf de huidige kijkpositie, naar beneden. Om hoger te zoeken, gebruik?
n Om de volgende overeenkomst in de huidige zoekopdracht te vinden. N vindt de eerste.
q Sluit het journalctl-hulpprogramma af.
Logboekvermeldingen filteren op prioriteit
Soms wilt u gewoon controleren op fouten en meldingen en statusberichten negeren. Elke vermelding in een logboek bevat een prioriteit: Noodgeval, Waarschuwing, Kritiek, Fout, Waarschuwing, Kennisgeving en Informatie. Deze zijn gerangschikt in volgorde van belangrijkheid, onvoorziene omstandigheden zijn gereserveerd voor worstcasescenario's (het systeem is niet bruikbaar). Informatieberichten zijn slechts een informatieve tekst die de status rapporteert van programma's die normaal draaien.
Om alleen foutmeldingen van de huidige opstart weer te geven, voert u het volgende in:
journalctl -b 0 -p err
Als u fouten van alle laarzen wilt zien, verwijdert u gewoon de parameter "-b"
journalctl -p err
Dit zijn de symbolen die u aan de parameter kunt doorgeven”-p"
- te waarschuwen
- crit
- debug
- emerg
- dwalen
- info
- kennisgeving
- waarschuwing
Filter logboekvermeldingen op pad om uitvoerbaar bestand of Systemd-eenheid te verwerken
Sommige operaties worden uitgevoerd en beheerd door zogenaamde eenheden systemd. Om alle logs met betrekking tot een server te zien cron , Binnenkomen:
journalctl -u cron.service
U kunt zien welke eenheden u beschikbaar heeft:
systemctl list-dependencies
U kunt door het menu navigeren met behulp van de pijltoetsen omhoog en omlaag. Klik q uit.
Als u liever het pad naar het uitvoerbare bestand (binair) van het programma gebruikt, geeft u het volledige pad door als argument.
journalctl /usr/sbin/cron
Vergeet niet dat je ook kunt filteren op het huidige opstartitem om onnodige berichten te verwijderen.
journalctl -b 0 /usr/sbin/cron
Conclusie
Journalctl wil het gemakkelijk maken om te vinden wat je zoekt. Als je meer wilt weten over geavanceerde parameters die je kunt gebruiken, kijk dan op de pagina journalctl-opdrachtmap.