Intrebari Frecvente Instrucțiuni simple pentru a lucra cu serviciul Profitserver
Principal Intrebari Frecvente Cum să citiți jurnalele Linux și unde să le găsiți

Cum să citiți jurnalele Linux și unde să le găsiți


Când vă confruntați cu orice problemă cu performanța serverului dvs., primul lucru pe care doriți să-l faceți este verificați-vă jurnalele Linux. În jurnalul de sistem, puteți găsi câteva mesaje de diagnosticare utile de la diferite componente ale sistemului de operare, cum ar fi nucleul sau diverse servicii, așa că cel mai probabil veți găsi acolo cauza eșecului.

Fiecare mesaj din jurnal este generat ca urmare a anumitor evenimente din sistemul de operare: de la utilizator, autorizare la oprirea serviciului sau eșecul aplicației. Aceste evenimente au priorități diferite în funcție de cât de critice sunt. Există următoarele tipuri de evenimente în Linux:

  1. emerg - eșec, prioritate maximă;
  2. alert - avertizare urgenta;
  3. crit - eveniment critic;
  4. err - eroare obișnuită;
  5. warn - avertizare obișnuită;
  6. notice - notificare;
  7. info - mesaj de informare;
  8. debug - informatii de depanare;

În acest moment, principalele servicii de recoltare de bușteni în Linux sunt rsyslog și systemd-journald. Acestea merg cu majoritatea pachetelor de distribuție moderne și funcționează independent.

rsyslog

Jurnalele acestui serviciu sunt localizate în „/ var / log /„ folder sub formă de fișiere text obișnuite. Mesajele de jurnal sunt plasate în fișiere diferite în funcție de tipul de eveniment. De exemplu, „/var/log/auth.log” conține informații despre autorizarea utilizatorilor în sistem și ”/var/log/kern.log” conține mesaje de kernel. Numele fișierelor pot diferi în funcție de pachetele de distribuție, așa că haideți să aruncăm o privire la fișierul de configurare pentru a ne face o idee despre unde se află ”/etc/rsyslog.d/50-default.conf".

Сбор логов Linux утилитой rsyslog

Aceste reguli afișează ce fișier conține fiecare tip de mesaje de jurnal. Partea din stânga afișează tipul de mesaj în următoarea formă „[Sursa].[Prioritate]” iar partea din dreapta afișează numele fișierului jurnal. În timp ce scrieți tipul de mesaj „*la care se poate adăuga caracterul „. Înseamnă valoare goală sau „nici unul” care îl elimină din listă. Să aruncăm o privire mai atentă la primele două reguli.

“auth,authpriv.* /var/log/auth.log”
“*.*;auth,authpriv.none -/var/log/syslog”

Prima regulă înseamnă că toate mesajele primite de la mecanismul de autorizare vor fi înregistrate în „/var/log/auth.log". Toate încercările de autorizare (atât cu succes, cât și nu) vor fi înregistrate în acest fișier. A doua regulă indică faptul că toate mesajele, cu excepția celor legate de autorizare, vor fi înregistrate în "/ Var / log / syslog". Aceste două fișiere sunt de obicei cele mai populare. Următoarele reguli definesc calea pentru stocarea jurnalelor de kernel "kern.*” și jurnalele serviciului de e-mail ”mail.*Matei 22:21

Fișierele jurnal pot fi deschise cu ajutorul oricărui editor de text, cum ar fi mai puțin, pisică, coadă. Să deschidem „/var/log/auth.log” dosar

less /var/log/auth.log
Запись в лог-файле Линукс о неудачной попытке авторизации SSH

Fiecare linie a fișierului este un mesaj separat primit de la aplicație sau serviciu. Toate mesajele, indiferent de sursa lor, au un singur format și constau din 5 părți. Să luăm ca exemplu mesajul evidențiat din captura de ecran.

  1. Marcaj temporal al mesajului - „12 februarie 06:18:33”
  2. Numele computerului care a trimis mesajul - „vds”
  3. Numele aplicației sau serviciului care a trimis mesajul - „sshd”
  4. ID proces - [653]
  5. Textul mesajului - „Parola acceptată pentru mihail de la portul 188.19.42.165 2849 ssh2”

Acesta a fost un exemplu de conexiune de succes la SSH.

Și iată cum arată o încercare de conectare nereușită:

Читаем логи Linux

Acest fișier înregistrează, de asemenea, comenzi cu permisiuni avansate

Как правильно прочитать лог Linux

Să deschidem / Var / log / syslog fişier

Un mesaj evidențiat pe captură de ecran este mesajul despre închiderea interfeței de rețea.

Утилита logorotate

Pentru a căuta informații prin fișiere text lungi, utilizați grep utilitate. Puteți găsi toate mesajele primite de la pptpd serviciu în „/ Var / log / syslog” dosar.

grep 'pptpd' /var/log/syslog
файл „/etc/logrotate.d/rsyslog”

În timpul diagnosticării, puteți utiliza coadă utilitar care poate afișa câteva ultimele rânduri de fișiere. Comanda „tail -f / var / log / syslog” vă va permite să urmăriți înregistrarea jurnalelor în timp real.

Serviciul rsyslog este foarte flexibil și puternic. Poate fi folosit pentru recoltarea buștenilor în sistemele locale, precum și la nivel de întreprindere. Puteți găsi documentația completă pe site-ul oficial https://www.rsyslog.com/

Rotația jurnalelor în Linux

Înregistrarea jurnalului are loc continuu, astfel încât dimensiunea fișierelor crește constant. Mecanismul de rotație asigură arhivarea automată a jurnalelor vechi și crearea de noi fișiere. În funcție de reguli, se poate întâmpla zilnic, săptămânal, lunar sau după limită de dimensiune. Pe măsură ce se creează jurnale noi, cele vechi pot fi doar șterse sau trimise prin e-mail. Rotirea buștenilor este efectuată de realizat utilitate. Puteți găsi configurația principală în „/etc/logrotate.confFișierul „. Conținutul fișierelor este, de asemenea, procesat în „/etc/logrotate.d/”Dosar

Regulile noi pot fi conectate în fișierul de configurare principal. Cu toate acestea, cel mai bine este să creați un fișier separat în „/etc/logrotate.d/” În mod implicit, există câteva fișiere în acest director

Настраиваем ротацию логов в Линукс

Să aruncăm o privire la fișierul „/etc/logrotate.d/rsyslog" care conține reguli de rotație pentru jurnalele rsyslog serviciu.

Пример вывода всех ошибок pptpd в лог-файлах

În primul rând, regula ar trebui să conțină calea către fișierul jurnal și apoi să treacă toate liniile directoare între paranteze.

  • rotiți 7 - numărul de fișiere de păstrat - 7
  • zilnic - creați un fișier nou în fiecare zi
  • comprima - comprimați și arhivați fișierele vechi
Учимся читать логи Линукс

Puteți vedea pe captură de ecran că în „/ var / log /” folder există jurnalul principal ”syslog” și 7 arhive, care corespunde regulilor din fișierul de configurare.

Puteți găsi o descriere mai detaliată a logrotate în manual, executând „om logrotate” comanda

Colectarea jurnalelor Linux - journald

Serviciu de recoltare bușteni systemd-journald face parte din sistemul de inițializare systemd. Fișierele jurnal Linux sunt stocate în „/var/log/journal/” într-un format special și poate fi deschis cu ajutorul jurnalctl utilitate. Formatul înregistrărilor este exact același ca în rsyslog.

Comandă jurnalctl fără atribute arată toate înregistrările, dar nu este potrivit pentru jurnalele mai mari. Să aruncăm o privire la câteva opțiuni ale acestui utilitar.

  • journalctl -b - afișați toate înregistrările de la ultima pornire
  • journalctl -S "2020-02-17 12:00" -U "2020-02-17 12:10" - arată înregistrarea într-o anumită perioadă de timp
  • journalctl -u pptpd - arată înregistrările unui anumit serviciu
  • journalctl -k - afișați mesajele kernelului
  • journalctl -p err - afișați mesaje cu o anumită prioritate, mesaje cu prioritate mai mare în acest caz (crit, alertă, emerg)
  • journalctl -f - afișați mesajele în timp real

Pentru o mai bună flexibilitate, puteți combina aceste opțiuni. Să arătăm toate erorile pptpd serviciu

journalctl -u pptpd -p err
утилита ultimul

Dacă specificați calea către fișierul executabil ca atribut, utilitarul va afișa toate mesajele trimise de acest fișier. Să arătăm toate mesajele trimise de fișierul „/usr/bin/sudo” din 04:15 pe 18 februarie 2020. De fapt, va afișa toate comenzile executate cu permisiuni mai mari.

journalctl -S "2020-02-18 04:15" /usr/bin/sudo
командой lastb

Pentru a afla cât spațiu pe disc ocupă fișierele jurnal pentru a executa următoarea comandă

journalctl --disk-usage

Pentru a limita fișierul jurnal la 1Gb, executați următoarea comandă

journalctl --vacuum-size=1G

Deschiderea fișierelor binare

Acum să aruncăm o privire la câteva fișiere speciale din „/ var / log /” folder în care sunt stocate toate încercările de conectare. Aceste fișiere sunt binare și pot fi deschise numai cu programe speciale.

/var/log/wtmp conține informații despre încercările reușite de conectare. Utilizați ultimul utilitar pentru a-l deschide.

утилита lastlog

/var/log/btmp - conține toate încercările eșuate de conectare. Poate fi deschis cu lastb cu permisiuni avansate. Atribut -n definește numărul de linii afișate de la sfârșitul fișierului.

/var/log/loadlog - conține ora ultimei acțiuni de conectare pentru fiecare înregistrare de cont. Se poate deschide cu ultimul log

❮ Articolul precedent Cum se configurează interfețele de rețea în CentOS
Articolul următor ❯ Editore de text Linux

Întrebați-ne despre VPS

Suntem întotdeauna gata să vă răspundem la întrebări la orice oră din zi sau din noapte.