Hoe te Gebruiken journalctl te Lezen Linux Systeem Logs

0
471
Fatmawati Achmad Zaenuri/Shutterstock

Linux systeem logging veranderd met de introductie van systemd. Leer hoe u de journalctl opdracht om te lezen en filter systeem berichten in het logboek.

Gecentraliseerde Logging

Geen onbekende voor de controverse, de systemd systeem-en service manager introduceerde een significante verandering in de manier waarop het systeem de logboeken worden verzameld. Logboeken zich op verschillende plaatsen in het bestand systeem volgens de dienst of de daemon die was bezig met het maken hen. Maar ze hadden allemaal één ding gemeen. Ze waren platte tekst bestanden.

Met systemd alle systeem -, opstart-en kernel log-bestanden worden verzameld en beheerd door een centrale, gewijd loggen oplossing. Het formaat waarin ze zijn opgeslagen in een binaire één. Een ding dit vergemakkelijkt het is in staat om een uittreksel van de gegevens in verschillende formaten, zoals JSON, zoals we zullen zien.

het kan ook gemakkelijker om cross-reference gerelateerde informatie die eerder zijn opgenomen in een aparte log-bestanden. Omdat de gegevens nu in één tijdschrift, de gegevens van de verschillende bronnen van belang kunnen worden geselecteerd en weergegeven in een enkele verweven lijst van items.

journalctl is het instrument dat gebruikt wordt om te werken met het tijdschrift.

journalctl Zonder Franje

U kunt aanspraak maken op journalctl met geen command line parameters:

journalctl

journalctl wordt de volledige dagboek, met de oudste items op de top van de lijst. De lijst is weergegeven in minder, waardoor je pagina en zoek met behulp van de normale navigatie mogelijkheden van minder. U kunt ook gebruik maken van de Pijl-Links en pijl-Rechts Pijl-toetsen om te schuiven zijwaarts te lezen breed vermeldingen.

Met de End-toets wordt hop rechtstreeks naar de onderkant van de lijst, en de nieuwste vermeldingen.

Druk op Ctrl+C om af te sluiten.

GERELATEERD: Hoe te Gebruiken het minder Commando uit op een Linux

Hoewel journalctl genoemd kan worden, zonder gebruik te maken van sudo, je zal ervoor zorgen dat u ziet alle details in het logboek als u sudo gebruiken.

sudo journalctl

Als u wilt, kunt u journalctl sturen de uitgang aan de terminal-venster in plaats van minder, door het gebruik van de –no-pager optie.

sudo journalctl –no-pager

De uitgang rollen snel via het terminal venster, en u keert terug naar de opdrachtprompt.

Beperken van het aantal lijnen dat journalctl geeft, gebruik je de-n (lijnen) optie. Vraag voor tien regels van de uitvoer:

sudo journalctl -n 10

Volgende Journal Updates

Om journalctl display de nieuwste items als ze aankomen in het tijdschrift, gebruik je de-f (volg) optie.

sudo journalctl -f

De nieuwste vermelding is een tijd van 07:09:07. Als nieuwe activiteit plaatsvindt, de nieuwe items zijn toegevoegd aan de onderkant van het scherm. In de buurt van real-time updates—cool!

Om 07:09:59 een applicatie genaamd geek-app geïnjecteerd een logboekvermelding in de krant die zei: “Nieuw Bericht van HTG.”

Veranderen van de Display-Indeling

Omdat het tijdschrift is een binair bestand, de gegevens in het vertaald moet worden of ontleed in de tekst, voordat het kan worden weergegeven. Met andere parsers, verschillende output formaten kan worden gemaakt van dezelfde binaire bron van gegevens. Er zijn verschillende winkelketens die journalctl kunt gebruiken.

De standaard uitvoer is de korte notatie, die is zeer vergelijkbaar met de klassieke systeem log-formaat. Op uitdrukkelijk verzoek van de korte notatie, gebruikt u de -o (output) optie met de korte modifier.

sudo journalctl -n 10 -o korte-full

Van links naar rechts, de velden zijn:

  • De tijd waarop het bericht werd gemaakt, in de lokale tijd.
  • De hostnaam.
  • De naam van het proces. Dit is het proces dat het bericht genereerde.
  • Het bericht in het logboek.

Voor het verkrijgen van een volledige datum en tijd gebruik maken van de korte-volledige modifier:

sudo journalctl -n 10 -o korte-full

De datum-en tijdnotatie in deze uitvoer worden in welke indeling je nodig hebt om de data en tijden wanneer u het selecteren van berichten in het logboek per periode, zoals we zullen zien binnenkort.

Om alle metadata die bij elk bericht in het logboek, gebruik de uitgebreide modifier.

sudo journalctl -n 10 -o uitgebreide

Er zijn veel mogelijk velden in, maar het komt zelden voor dat alle velden aanwezig te zijn in een bericht.

Een gebied de moeite waard te bespreken, is het veld Prioriteit. In dit voorbeeld heeft een waarde van 6. De waarde vertegenwoordigt het belang van de boodschap:

  • 0: Nood. Het systeem is onbruikbaar.
  • 1: Alert. Een voorwaarde is gemarkeerd dat moet onmiddellijk worden gecorrigeerd.
  • 2: Kritische. Dit heeft betrekking op ongevallen, coredumps, en aanzienlijke tekortkomingen in de primaire applicaties.
  • 3: Fout. Een fout is gemeld, maar het is niet als zeer ernstig beschouwd.
  • 4: Waarschuwing. Brengt een voorwaarde voor uw aandacht dat, indien genegeerd, kan een fout.
  • 5: let op. Overzicht van evenementen die ongebruikelijk zijn, maar geen fouten.
  • 6: Informatie. Reguliere operationele berichten. Deze vereisen geen actie.
  • 7: Debug. Berichten in toepassingen, waardoor het voor hen gemakkelijker is om te debuggen hen.

Als u wilt dat de uitvoer worden gepresenteerd als goed gevormd JavaScript Object Notation (JSON) objecten, gebruik de json-modifier:

sudo journalctl -n 10 -o json

Elk bericht wordt goed verpakt als een goed gevormd JSON object, en verschijnt een bericht per regel van de uitvoer.

Om de JSON output mooi afgedrukt, gebruikt u de json-vrij aan te passen.

sudo journalctl -n 10 -o json-vrij

Elke JSON-object is verdeeld over meerdere lijnen, met elk een naam-waarde paar op een nieuwe regel.

Alleen zien de log-berichten, zonder tijd-stempels of andere metagegevens gebruikt de kat modifier:

sudo journalctl -n 10 -o kat

Deze weergave-indeling kan het moeilijk maken om te bepalen welk proces verhoogde de gebeurtenis in het logbestand, hoewel sommige berichten bevatten een aanwijzing.

Het Selecteren Van Berichten In Het Logboek Door De Tijd

Beperken van de uitvoer van journalctl om een periode waarin u geïnteresseerd bent, gebruik je de-S (sinds) en -U (tot en met) opties.

Zie de vermeldingen sinds een bepaalde tijd en datum, gebruik je dit commando:

sudo journalctl -S “2020-91-12 07:00:00”

Het display bevat alleen de berichten die kwam na de datum en tijd in de opdracht.

Voor het definiëren van een periode die u wilt rapporteren, gebruik maken van zowel de -S (sinds) en -U (tot en met) opties samen. Deze opdracht ziet er op de log boodschappen van 15 minuten tijd.:

sudo journalctl -S “2020-91-12 07:00:00” -U “2020-91-12 07:15:00”

Dit is een geweldige combinatie gebruiken als je weet dat er iets vreemd gebeurd op uw systeem, en ongeveer toen het gebeurde.

Het Gebruik Van Relatieve Perioden

U kunt gebruik maken van relatieve adressering wanneer u uw perioden. Dat betekent dat je kunt dingen zeggen als “toon me alle gebeurtenissen van een dag geleden tot nu.” Dit is precies wat deze opdracht inhoudt. De “d” staat voor “dag”, en de “-1” betekent één dag in het verleden.

sudo journalctl -S -1d

De berichten in het logboek worden vermeld om 00:00:00 gisteren, tot “nu”.

Als u wilt om iets te onderzoeken dat gebeurde in het recente verleden, kunt u een relatieve periode gemeten in uren. Hier zijn we herziening van de log boodschappen van de afgelopen uur:

sudo journalctl -S -1h

De berichten van het laatste uur voor u worden weergegeven. U kunt ook gebruik maken van “m” om de relatieve perioden gemeten in minuten, en “w” voor weken.

journalctl begrijpt vandaag, gisteren en morgen. Deze modifiers bieden een handige manier om aan te geven common perioden. Om alle gebeurtenissen te bekijken die er gisteren gebeurd is, gebruik je dit commando:

sudo journalctl -S gisteren

Alle tijdschrift gebeurtenissen die er gisteren gebeurd is, tot middernacht 00:00:00 uur worden opgehaald en op het scherm getoond.

Om alle berichten in het logboek ontvangen vandaag zo ver, gebruik je dit commando:

sudo journalctl -S vandaag

Alles, van 00:00:00 tot het moment dat de opdracht is gegeven, worden weergegeven.

Je bent in staat om de mix van de verschillende periode modifiers. Om alles te zien van twee dagen geleden tot en met de start van vandaag, gebruik je dit commando:

sudo journalctl -S -2d -U vandaag

Alles sinds de dag voor gisteren tot vandaag is opgehaald en weergegeven.

Het Selecteren Van Berichten In Het Logboek Door Data Velden

U kunt zoeken naar berichten in het logboek die voldoen aan een breed scala van tijdschrift velden. Deze zoekopdrachten proberen een match te vinden in de metadata gekoppeld aan elk bericht. Het is raadzaam te verwijzen naar de lijst van velden en kies degene die het meest nuttig voor u.

Houd in gedachten, of een aanvraag voltooid elk veld of niet, is volledig aan de auteurs van de toepassing. U kan niet garanderen dat elk veld wordt ingevuld.

Alle van het tijdschrift veld modifiers worden gebruikt op dezelfde manier. We gebruiken een paar in onze voorbeelden. Om te zoeken naar de log boodschappen van een specifieke toepassing, gebruik je het _COMM (opdracht) aan te passen. Als u ook gebruik maken van de -f (volg) optie, journalctl zal volgen nieuwe berichten van deze toepassing als ze aankomen.

sudo journalctl -f _COMM=geek-app

U kunt zoeken naar vermeldingen met behulp van de proces-ID van het proces gegenereerde het bericht in het logboek. Gebruik je het ps commando te vinden van het proces id van de daemon of de toepassing die je gaat zoeken.

sudo journalctl _PID=751

Op de machine die wordt gebruikt om het onderzoek in dit artikel, de SSH daemon proces 751.

U kunt ook zoeken op door de gebruiker-Id. Dit is de gebruikers-ID voor de persoon die begonnen met de aanvraag of opdracht, of die eigenaar is van het proces.

sudo journalctl _UID=1000

Alle berichten geassocieerd met andere gebruikers-ID ‘ s worden eruit gefilterd. Alleen berichten in verband met de gebruiker 1000 worden weergegeven:

Een andere manier om te zoeken naar de log boodschappen met betrekking tot een specifieke toepassing is het pad naar het uitvoerbare bestand.

sudo journalctl /usr/bin/anacron

Alle anacron planner log-berichten worden opgehaald en weergegeven.

Om het zoeken makkelijker kunnen we vragen journalctl om een lijst van alle waarden in het bezit van het tijdschrift velden.

Om de gebruikers-ID ‘ s die journalctl heeft opgenomen berichten in het logboek voor, gebruik je de-F (velden) optie, en geef de _UID veld id.

journalctl -F _UID

Laten we dat doen opnieuw en kijk naar de group Id (GID s):

journalctl -F _GID

U kunt dit doen met een van de journal veld-id ‘ s.

Lijst Kernel Berichten

Er is een manier om te isoleren kernel snel berichten. U hoeft niet te zoeken en te isoleren ze zelf. De -k (kernel) optie verwijdert alle andere berichten en geeft je een instant overzicht van de kernel log posten.

sudo journalctl -k

De markering geeft het belang aan van het bericht, volgens de waarden in het veld Prioriteit.

De Herziening Boot Berichten

Hebt u een probleem in verband met het opstarten dat je wilt onderzoeken, journalctl heeft u gedekt. Misschien heeft u nieuwe hardware hebt toegevoegd, en het is niet meer reageert, of een eerder werkende hardware component werkt niet meer na je laatste systeem upgrade.

Zie de vermeldingen in verband met uw laatste boot, gebruikt u de -b (boot) optie:

journalctl -b

De vermeldingen voor de laatste boot worden weergegeven voor u.

Als we zeggen ‘de laatste boot’ bedoelen we de boot proces dat uw computer tot leven voor uw huidige ingelogde sessie. Zie vorige laarzen, kunt u gebruik maken van een aantal te vertellen journalctl welke boot u bent geïnteresseerd. Om de derde vorige boot, gebruik je dit commando:

journalctl -b 3

Over het algemeen, als je een probleem had en moest herstarten van je computer, het is een vroegere boot volgorde waarin u bent geïnteresseerd. Dus dit is een gemeenschappelijke opdracht formulier.

Het is makkelijk te mengen met de volgorde van de laarzen. Om te helpen, kunnen we vragen journalctl om de laarzen, die het heeft opgenomen in haar dagboek, het gebruik van de –list-laarzen optie.

journalctl –list-laarzen

U kunt het identificeren van de boot die u wenst te zien en berichten voor de datum en tijd stempel, en vervolgens het gebruik van het nummer in de linker kolom voor het verkrijgen van de berichten in het logboek voor dat de boot sequence. U kunt ook kiezen voor de 32-bits boot-id, en pas die aan journalctl.

sudo journalctl -b 1f00248226ed4ab9a1abac86e0d540d7

De log boodschappen van de boot volgorde aangevraagd worden opgehaald en weergegeven.

Het Beheren Van Tijdschrift Ruimte Op De Harde Schijf

Natuurlijk, het journaal en alle berichten in het logboek worden opgeslagen op uw harde schijf. Dat betekent dat zij zullen worden tot het nemen van harde schijf ruimte. Om te zien hoeveel ruimte is ingenomen door het tijdschrift, gebruik je de –disk-gebruik optie.

journalctl –disk-gebruik

Met de huidige harde schijven, 152 MB is niet veel ruimte in, maar voor demonstratie doeleinden, zullen we nog steeds bekleding terug. Er zijn twee manier waarop we dit kunnen doen. De eerste is voor het instellen van een limiet voor de grootte die u wenst verlaagd terug naar. Het zal weer groeien, natuurlijk, maar we kunnen snoeien nu klaar voor de nieuwe groei.

We gebruiken de prachtige titel –vacuüm-size optie, en pas in de grootte die wij graag het tijdschrift beperken. Vragen We voor 100 MB. De manier om te denken van dit is wat we vragen journalctl om “weg te gooien wat je kunt, maar ga niet lager zijn dan 100 MB.”

journalctl –vacuüm-size=100M

De andere manier om te trimmen terug het tijdschrift omvang van het gebruik van de –vacuüm-optie. Deze optie geeft aan journalctl te negeren berichten die ouder zijn dan de periode die u op de opdrachtregel. U kunt gebruik maken van dagen, weken, maanden en jaren in de periode.

Laten we het onkruid uit alle berichten ouder dan één week:

journalctl –vacuüm-tijd=1weeks

Gegevens vs. Informatie

Gegevens niet nuttig, tenzij je het kan krijgen en er gebruik van maken. Dan wordt het nuttige informatie. De journalctl opdracht is een flexibele en geavanceerde tool die u toelaat om de informatie die van belang is in een verscheidenheid van manieren.

U kunt gebruik maken van vrijwel elk fragment van informatie die u hebt om de log boodschappen die u nodig heeft.

LEES VERDER

  • “Hoe te “Verbergen” een App op Uw iPhone of iPad
  • “Hoe de Stream 2020 Pup Kom Zonder Kabel
  • “Wat Doet “AMA” Betekenen, en Hoe Gebruik Je Het?
  • “Hoe Stream Super Bowl 2020 Zonder Kabel
  • “Wat Is een Mini-LED-TV, en Waarom Zou Je er Een Wilt?