Hoe Systemctl-logboeken te bekijken

Hoe Systemctl Logboeken Te Bekijken



De systemd is een van de algemeen aanvaarde init-systemen op Linux. Het belangrijkste voordeel van systemd is de mogelijkheid om de systeemlogboeken te beheren. Het verzamelt alle kernelberichten en gebruikersprocessen in een logboek genaamd logboek . De gejournaliseerd is de daemon die de logbestanden in een binair bestand vastlegt en beheert. Deze daemon heeft als belangrijkste voordeel dat hij gegevens in gestructureerde en geïndexeerde vorm opslaat, waardoor deze gemakkelijk toegankelijk is en kan worden geanalyseerd via de journaalctl nutsvoorziening.

In deze handleiding zal ik bespreken hoe je systemd-logboeken op Linux kunt bekijken met behulp van verschillende opdrachtregelhulpprogramma's.

Opmerking: De opdrachten die in deze handleiding worden genoemd, worden uitgevoerd op Ubuntu. Ze zullen zonder fouten werken op alle Linux-distributies die bij het systemd init-systeem worden geleverd.







Methoden om systemctl-logboeken te bekijken

Er zijn twee benaderingen voor het bekijken van systemd-logboeken op Linux:



De systemctl geeft de meest recente servicespecifieke logs, terwijl journalctl diepgaande systeembrede logs geeft van alle services en de specifieke service.



Ik zal beide hulpprogramma's verkennen om systemd-logboeken te bekijken. Maar laten we eerst het belangrijkste verschil begrijpen tussen systemctl- en journalctl-opdrachten.





Wat is systemctl

Systemctl is een opdrachtregelhulpprogramma dat systemd-services beheert, zoals het in- of uitschakelen van de service en het bekijken van de status. De systemctl-status opdracht drukt ook een paar logregels van de service af onderaan de uitvoer, en dit logbestand is na de recente opstart. Deze logregels van de service zijn echter alleen van na de huidige opstartperiode.

Wat is journalctl

Journalctl is een opdrachtregelhulpprogramma dat wordt gebruikt om de door systemd verzamelde logboeken af ​​te drukken. Vergeleken met systemctl biedt het gedetailleerde uitvoer met filteropties. Dit hulpprogramma is ontworpen om:



  • Logboeken lezen (oudste log komt eerst)
  • Logboeken bewaken
  • Filter logboeken op basis van tijd, service of gebruiker

Het systemd verzamelt logbestanden van de kernel, services en daemons en slaat deze op een gecentraliseerde plaats op.

Hoe u het logboek van een service kunt bekijken met systemctl

De algemene syntaxis om het logboek van een service te vinden met behulp van de systeemctl hulpprogramma wordt hieronder vermeld.

systemctl-status [ servicenaam ]

Als u bijvoorbeeld de loggegevens van de smbd.service gebruik de onderstaande opdracht.

systemctl-status smbd.service

Om uitvoer zonder paginering te krijgen, voegt u de –geen pager optie in de opdracht.

systemctl-status smbd.service --geen pager

Hoe u het logboek van een service kunt bekijken met journalctl

Om het logboek van een specifieke service van systemd te bekijken, gebruikt u journaalctl met de -in commando en service- of eenheidsnaam.

journaalctl -in [ servicenaam ]

In het bovenstaande commando wordt de -in vlag, afkorting van -eenheid wordt gebruikt om het te filteren journaalctl uitgevoerd met een eenheidsnaam.

Als u bijvoorbeeld het logboek van de smbd daemon, ik zal de [eenheidsnaam] met smbd.service .

journaalctl -in smbd.service

In de uitvoer is te zien dat de oudste vermelding eerst komt en vervolgens logt nadat elke keer opstarten wordt vermeld.

Gebruik eerst het nieuwste item -Het is kort voor –pager-einde.

journaalctl -in smbd.service -Het is

Als u de paginering uit de uitvoer wilt weglaten, voegt u eenvoudigweg de –geen pager in de bovengenoemde opdrachten.

Om de logboekgegevens continu af te drukken in realtime gebruik -F kort voor -volgen .

journaalctl -in smbd.service -F

De filtering kan verder worden uitgebreid door de vlag -b te gebruiken, een afkorting voor -laars , waarmee de logboeken worden afgedrukt op basis van de huidige opstartprocedure.

journaalctl -in [ eenheidsnaam ] -B

Laten we logs afdrukken van de smbd.service van de recente opstart.

journaalctl -in smbd.service -B

De bovenstaande uitvoer lijkt op de uitvoer die we krijgen met behulp van de systemctl-status commando.

Om een ​​gedetailleerd logoverzicht te krijgen, gebruikt u de -X kort voor -catalogus keuze.

journaalctl -in smbd.service -X

Hierdoor wordt een korte beschrijving van het logboek toegevoegd.

Om logboeken op basis van tijd af te drukken met behulp van journalctl zijn er twee opties: -S kort voor -sinds En -IN kort voor -tot .

journaalctl -in [ eenheidsnaam ] -S '[jaar-maand-dag] [uren:minuten:seconden]'

Om bijvoorbeeld de logs van unit smbd van 2024:01:30 12:05:00 .

journaalctl -in smbd.service -S '2024:01:30 12:05:00'

Conclusie

Om de systemd-logboeken van een service te bekijken, zijn er twee hoofdhulpprogramma's: journalctl en systemctl. De journalctl is speciaal ontworpen voor het bekijken van de logs van systemd. De systemctl heeft echter ook een mogelijkheid om het log van de dienst af te drukken. Om het logboek van een servicegebruik af te drukken, journalctl-u [eenheidsnaam] en systeemctl [eenheidsnaam].