Ce sunt fișierele jurnal Linux și cum le puteți citi?

Un fișier jurnal oferă o cronologie a evenimentelor pentru sistemul de operare Linux, aplicații și servicii. Fișierele sunt stocate în text simplu pentru a fi ușor de citit.


Unde puteți găsi fișiere jurnal Linux?

Fișierele jurnal Linux sunt stocate în mod normal în folderul / var / log. Dosarul conține un număr mare de fișiere care oferă informații detaliate pentru fiecare aplicație.


Cum pot deschide fișiere .LOG?

Deoarece fișierele jurnal sunt în format text simplu, citiți-le folosind orice editor de text. Majoritatea distribuțiilor oferă nano, care oferă o interfață ușor de utilizat:

nano

Dacă fișierul jurnal este de dimensiuni mici, atunci este bine să deschideți fișierul jurnal într-un editor, dar dacă fișierul jurnal este mare, probabil că sunteți interesat doar să citiți capătul jurnalului. Comanda tail afișează ultimele linii dintr-un fișier. Specificați câte linii să afișați cu -n comutator (specificând numărul de linii) după cum urmează:

coada -nx

Pentru a vedea începutul fișierului, utilizați fișierul cap comanda.

Busteni foarte mari sunt de obicei comprimate. Le veți vedea în / var / log cu un sufix .GZ. Pentru a vizualiza jurnalul, dezarhivați arhiva folosind utilitarul dorit.


Jurnalele de sistem cheie

Următoarele fișiere jurnal sunt principalele de căutat în Linux.

  • Autorizare: Urmărește utilizarea sistemelor de autorizare care controlează accesul utilizatorilor.
  • daemon: Urmărește serviciile care rulează în fundal îndeplinind sarcini importante. Daemonii nu au nicio ieșire grafică, așa că va trebui să citiți fișierul jurnal pentru a înțelege performanța demonului.
  • Debug: Oferă ieșire de depanare pentru aplicații.
  • Nucleu: Afișează informații despre nucleu, inclusiv erori.
  • Sistem: Conține cele mai multe informații despre sistemul dvs.; dacă aplicația dvs. nu are propriul jurnal, intrările vor fi probabil în acest fișier jurnal.

Analiza conținutului unui fișier jurnal

Imaginea de mai jos arată conținutul ultimelor 50 de fișiere dintr-un fișier jurnal de sistem (syslog).

Fiecare linie din jurnal conține următoarele informații:

  • Data
  • Nume de gazdă
  • Aplicație / serviciu
  • Mesaj

De exemplu, o linie din fișierul syslog este după cum urmează:

20 ianuarie 12:28:56 gary-virtualbox systemd [1]: pornirea programatorului cupelor

Acest lucru vă spune că serviciul de programare a cupelor a fost început la 12.28 pe 20 ianuarie. 

Rotirea jurnalelor

Fișierele jurnal se rotesc periodic, astfel încât să nu devină prea mari.

Utilitarul rotire jurnal este responsabil pentru rotirea fișierelor jurnal. Puteți afla când un jurnal a fost rotit, deoarece acesta va fi urmat de un număr precum auth.log.1, auth.log.2.

Este posibil să modificați frecvența de rotație a jurnalului prin editarea fișierului /etc/logrotate.conf.

Următorul arată un exemplu dintr-un fișier logrotate.conf:

#rotate fișiere jurnal
săptămânal
# păstrați 4 săptămâni în valoare de fișiere jurnal
rotiți 4
#create fișiere jurnal noi după rotire
crea

Aceste fișiere jurnal se rotesc în fiecare săptămână și există patru săptămâni în valoare de fișiere jurnal păstrate în orice moment. Când un fișier jurnal se rotește, unul nou este creat în locul său.

Fiecare aplicație poate avea propria politică de rotație. Politicile de rotație sunt păstrate în /etc/logrotate.d. Fiecare aplicație care necesită propria politică de rotație va avea un fișier de configurare în acest folder.

De exemplu, instrumentul apt are un fișier în folderul logrotate.d după cum urmează:

/var/log/apt/history.log {
rotiți 12
lunar
comprima
missingok
notifempty
}

Practic, acest jurnal vă spune următoarele: Jurnalul va păstra fișiere jurnal în valoare de 12 săptămâni și se rotește în fiecare lună (unul pe lună). Fișierul jurnal va fi comprimat. Dacă nu sunt scrise mesaje într-un jurnal (adică este gol), atunci acest lucru este acceptabil. Jurnalul nu se va roti dacă este gol.

Pentru a modifica politica unui fișier, editați fișierul cu setările de care aveți nevoie și apoi executați următoarea comandă:

logrotate -f