Baza znanja Jednostavna uputstva za rad sa uslugom Profitserver
glavni Baza znanja Kako čitati Linux dnevnike i gdje ih pronaći

Kako čitati Linux dnevnike i gdje ih pronaći


Kada se suočite s bilo kakvim problemima s performansama vašeg servera, prvo što trebate učiniti je provjeriti svoje Linux logove . U sistemskom logovu možete pronaći neke korisne dijagnostičke poruke iz različitih komponenti operativnog sistema poput kernela ili raznih servisa, tako da ćete najvjerovatnije tamo pronaći uzrok kvara.

Svaka poruka u dnevniku se generiše kao rezultat određenih događaja u operativnom sistemu: od korisnika, autorizacije do gašenja servisa ili otkazivanja aplikacije. Ovi događaji imaju različite prioritete u zavisnosti od toga koliko su kritični. Postoje sljedeće vrste događaja u Linuxu:

  1. emerg - neuspjeh, najviši prioritet;
  2. alert - hitno upozorenje;
  3. crit - kritični događaj;
  4. err - obična greška;
  5. warn - obično upozorenje;
  6. notice - obavještenje;
  7. info - informativnu poruku;
  8. debug - informacije o otklanjanju grešaka;

Trenutno su glavne usluge za prikupljanje logova u Linuxu rsyslog i systemd-journald . Idu uz većinu modernih distribucijskih paketa i rade nezavisno.

rsyslog

Zapisnici ovog servisa nalaze se u folderu " /var/log/ " u obliku običnih tekstualnih datoteka. Poruke zapisnika se smještaju u različite datoteke ovisno o vrsti događaja. Na primjer, " /var/log/auth.log " sadrži informacije o autorizaciji korisnika u sistemu, a " /var/log/kern.log " sadrži poruke kernela. Nazivi datoteka mogu se razlikovati ovisno o distribucijskim paketima, pa pogledajmo konfiguracijsku datoteku da bismo dobili ideju gdje se nalazi " /etc/rsyslog.d/50-default.conf ".

Sbor logov Linux utilitoj rsyslog

Ova pravila prikazuju koja datoteka sadrži koju vrstu poruka dnevnika. Lijevi dio prikazuje vrstu poruke u sljedećem obliku „ [Izvor].[Prioritet] “, a desni dio prikazuje naziv datoteke dnevnika. Prilikom pisanja vrste poruke, može se dodati znak „ * “. To znači praznu vrijednost ili „ nijedan “ što je uklanja s liste. Pogledajmo detaljnije prva dva pravila.

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

Prvo pravilo znači da će sve poruke primljene od mehanizma autorizacije biti zabilježene u datoteku " /var/log/auth.log ". Svi pokušaji autorizacije (i uspješni i neuspješni) bit će zabilježeni u ovoj datoteci. Drugo pravilo označava da će sve poruke osim onih povezanih s autorizacijom biti zabilježene u datoteku " /var/log/syslog ". Ove dvije datoteke su obično najpopularnije. Sljedeća pravila definiraju putanju za pohranu logova kernela " kern.* " i logova mail servisa " mail.* "

Datoteke dnevnika mogu se otvoriti pomoću bilo kojeg tekstualnog editora, kao što su less , cat , tail . Otvorimo datoteku " /var/log/auth.log " .

less /var/log/auth.log
Zapis u log-fajlu Linuksa o neudačnoj pokušaju autorizacije SSH

Svaki red datoteke je posebna poruka primljena od aplikacije ili usluge. Sve poruke bez obzira na njihov izvor imaju jedan format i sastoje se od 5 dijelova. Uzmimo za primjer istaknutu poruku na snimku ekrana.

  1. Vremenska oznaka poruke - “12. februar 06:18:33”
  2. Naziv računara koji je poslao poruku - “vds”
  3. Naziv aplikacije ili usluge koja je poslala poruku - “sshd”
  4. ID procesa - [653]
  5. Tekst poruke - “Prihvaćena lozinka za mihail sa 188.19.42.165 port 2849 ssh2”

Ovo je bio primjer uspješne veze na SSH.

A evo kako izgleda neuspješan pokušaj prijave:

Čitaem logi Linux

Ova datoteka također snima komande s naprednim dozvolama

Kako pravilno pročitati log Linux

Otvorimo datoteku /var/log/ syslog

Istaknuta poruka na snimku ekrana je poruka o gašenju mrežnog interfejsa.

Utilita logorotate

Za pretraživanje informacija kroz dugačke tekstualne datoteke koristite uslužni program grep . Sve poruke primljene od pptpd servisa možete pronaći u datoteci " /var/log/syslog ".

grep 'pptpd' /var/log/syslog
fajl “/etc/logrotate.d/rsyslog”

Tokom dijagnostike možete koristiti uslužni program tail koji može prikazati nekoliko posljednjih redova datoteka. Komanda " tail -f /var/log/syslog " će vam omogućiti da pratite zapise logova u realnom vremenu.

Servis rsyslog je veoma fleksibilan i moćan. Može se koristiti za prikupljanje logova u lokalnim sistemima kao i na nivou preduzeća. Kompletnu dokumentaciju možete pronaći na službenoj web stranici https://www.rsyslog.com/

Rotacija dnevnika u Linuxu

Snimanje logova se odvija kontinuirano, tako da veličina datoteka stalno raste. Mehanizam rotacije osigurava automatsko arhiviranje starih logova i kreiranje novih datoteka. U zavisnosti od pravila, to se može dešavati dnevno, sedmično, mjesečno ili prema ograničenju veličine. Kako se novi logovi kreiraju, stari se mogu jednostavno izbrisati ili poslati e-poštom. Rotaciju logova vrši uslužni program logrotate . Glavnu konfiguraciju možete pronaći u datoteci " /etc/logrotate.conf ". Sadržaj datoteka se također obrađuje u mapi " /etc/logrotate.d/ ".

Nova pravila se mogu evidentirati u glavnoj konfiguracijskoj datoteci. Međutim, najbolje je kreirati zasebnu datoteku u " /etc/logrotate.d/ ". Podrazumevano, u ovom direktoriju se nalazi nekoliko datoteka.

Nastraivaem rotaciju logov u Linuks

Pogledajmo datoteku " /etc/logrotate.d/rsyslog " koja sadrži pravila rotacije za logove rsyslog servisa.

Primjer izvoda svih grešaka pptpd u log-fajlima

Prvo, pravilo treba sadržavati putanju do datoteke evidencije, a zatim ići sve smjernice u zakrivljene zagrade.

  • rotirati 7 - broj fajlova za čuvanje - 7
  • svakodnevno - kreirajte novi fajl svaki dan
  • kompresovati - komprimirati i arhivirati stare datoteke
Učimsâ čitatʹ logi Linuks

Na snimku ekrana možete vidjeti da se u mapi " /var/log/ " nalazi glavni dnevnik " syslog " i 7 arhiva, što odgovara pravilima u konfiguracijskoj datoteci.

Detaljniji opis logrotate komande možete pronaći u priručniku, izvršavanjem komande „ man logrotate “.

Prikupljanje Linux dnevnika - dnevnik

Servis za prikupljanje logova systemd-journald je dio sistema za inicijalizaciju systemd . Linux log datoteke se pohranjuju u " /var/log/journal/ " u posebnom formatu i mogu se otvoriti uz pomoć uslužnog programa journalctl . Format zapisa je potpuno isti kao u rsyslog.

Naredba journalctl bez atributa prikazuje sve zapise, ali nije pogodna za veće logove. Pogledajmo neke opcije ovog uslužnog programa.

  • journalctl -b - prikaži sve zapise od posljednjeg starta
  • journalctl -S "2020-02-17 12:00" -U "2020-02-17 12:10" - prikazati zapis u određenom vremenskom periodu
  • journalctl -u pptpd - prikazati evidenciju određene usluge
  • journalctl -k - prikaži poruke kernela
  • journalctl -p err - prikaži poruke određenog prioriteta, poruke višeg prioriteta u ovom slučaju (crit, alert, emerg)
  • journalctl -f - prikažite poruke u realnom vremenu

Za veću fleksibilnost možete kombinovati ove opcije. Prikažimo sve greške pptpd servisa.

journalctl -u pptpd -p err
utilita last

Ako navedete putanju do izvršne datoteke kao atribut, uslužni program će prikazati sve poruke poslane ovom datotekom. Prikažimo sve poruke poslane datotekom „ /usr/bin/sudo “ od 04:15 18. februara 2020. U stvari, prikazat će sve naredbe izvršene s višim dozvolama.

journalctl -S "2020-02-18 04:15" /usr/bin/sudo
komandoj lastb

Da saznate koliko prostora na disku zauzimaju datoteke evidencije za izvršavanje sljedeće naredbe

journalctl --disk-usage

Da biste ograničili datoteku dnevnika na 1Gb, izvršite sljedeću naredbu

journalctl --vacuum-size=1G

Otvaranje binarnih datoteka

Sada pogledajmo neke posebne datoteke u mapi " /var/log/ " gdje se pohranjuju svi pokušaji prijave. Ove datoteke su binarne i mogu se otvoriti samo posebnim programima.

/var/log/wtmp sadrži informacije o uspješnim pokušajima prijave. Koristite uslužni program last da ga otvorite.

utilita lastlog

/var/log/btmp - sadrži sve neuspješne pokušaje prijave. Može se otvoriti sa lastb sa naprednim dozvolama. Atribut -n definira broj prikazanih linija od kraja datoteke.

/var/log/lastlog - sadrži vrijeme posljednje prijave za svaki zapis računa. Može se otvoriti pomoću lastlog-a

❮ Prethodni članak Linux uređivači teksta
Sljedeći članak ❯ Kako konfigurirati mrežna sučelja u CentOS-u

Pitajte nas za VPS

Uvek smo spremni da odgovorimo na vaša pitanja u bilo koje doba dana i noći.