Kada se suočite sa bilo kakvim problemima sa performansama vašeg servera, prva stvar koju želite da uradite je da provjerite svoje Linux logove. U sistemskom dnevniku možete pronaći neke korisne dijagnostičke poruke iz različitih komponenti operativnog sistema kao što je kernel ili razne usluge, tako da ćete najvjerovatnije pronaći uzrok kvara tamo.
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:
emerg- neuspjeh, najviši prioritet;alert- hitno upozorenje;crit- kritični događaj;err- obična greška;warn- obično upozorenje;notice- obavještenje;info- informativnu poruku;debug- informacije o otklanjanju grešaka;
Trenutno su glavne usluge prikupljanja dnevnika u Linuxu rsyslog i systemd-journald. Oni idu uz većinu modernih distributivnih paketa i rade samostalno.
rsyslog
Dnevnici ove usluge nalaze se u “/ var / log /” folder u obliku običnih tekstualnih datoteka. Log poruke se stavljaju u različite fajlove u zavisnosti od tipa 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. Imena fajlova se mogu razlikovati u zavisnosti od distributivnih paketa, pa pogledajmo konfiguracioni fajl da dobijemo ideju o tome šta je gde “/etc/rsyslog.d/50-default.conf".
Ova pravila prikazuju koja datoteka sadrži svaku vrstu dnevnika poruka. Lijevi dio prikazuje vrstu poruke u sljedećem obliku “[Izvor].[Prioritet]” a desni dio prikazuje naziv log fajla. Prilikom pisanja tipa poruke “*” može se dodati znak. To znači praznu vrijednost ili “nijedan” koji ga uklanja sa liste. Pogledajmo bliže 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 snimljene u „/var/log/auth.log” fajl. Svi pokušaji autorizacije (i uspješni i ne) bit će registrirani u ovoj datoteci. Drugo pravilo označava da će sve poruke osim onih koje su povezane s autorizacijom biti snimljene u “/ var / log / syslog” fajl. Ove dvije datoteke su obično najpopularnije. Sljedeća pravila definiraju putanju za pohranjivanje dnevnika kernela “kern.*” i evidencije e-pošte “mail.*"
Log fajlovi se mogu otvoriti uz pomoć bilo kog uređivača teksta, npr manje, mačka, rep. Hajde da otvorimo “/var/log/auth.log” fajl
less /var/log/auth.log
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.
- Vremenska oznaka poruke - “12. februar 06:18:33”
- Naziv računara koji je poslao poruku - “vds”
- Naziv aplikacije ili usluge koja je poslala poruku - “sshd”
- ID procesa - [653]
- 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:
Ova datoteka također snima komande s naprednim dozvolama
Hajde da otvorimo / var / log / syslog fajl
Istaknuta poruka na snimku ekrana je poruka o gašenju mrežnog interfejsa.
Za traženje informacija kroz dugačke tekstualne datoteke koristite grep korisnost. Možete pronaći sve primljene poruke od pptpd usluga u "/ var / log / syslog” fajl.
grep 'pptpd' /var/log/syslog
Tokom dijagnostike možete koristiti rep uslužni program koji može prikazati nekoliko posljednjih linija datoteka. naredba “tail -f / var / log / syslog” će vam omogućiti da gledate zapise dnevnika u realnom vremenu.
Servis rsyslog veoma je fleksibilan i moćan. Može se koristiti za prikupljanje trupaca 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 dnevnika se odvija kontinuirano, tako da veličina datoteka stalno raste. Mehanizam rotacije osigurava automatsko arhiviranje starih dnevnika i kreiranje novih datoteka. Ovisno o pravilima, može se dogoditi dnevno, sedmično, mjesečno ili prema ograničenju veličine. Kako se kreiraju novi dnevnici, stari se mogu samo izbrisati ili poslati e-poštom. Rotaciju dnevnika vrši postignuto korisnost. Glavnu konfiguraciju možete pronaći u “/etc/logrotate.conf” fajl. Sadržaj fajlova se također obrađuje u “/etc/logrotate.d/" folder
Nova pravila se mogu prijaviti u glavnu konfiguracijsku datoteku. Međutim, najbolje je kreirati zasebnu datoteku u “/etc/logrotate.d/“. Podrazumevano, postoji nekoliko datoteka u ovom direktoriju
Hajde da pogledamo fajl “/etc/logrotate.d/rsyslog" koji sadrži pravila rotacije za dnevnike rsyslog usluga.
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
Na snimku ekrana možete vidjeti da u “/ var / log /” folder tamo se nalazi glavni dnevnik “syslog” i 7 arhiva, što odgovara pravilima u konfiguracijskoj datoteci.
Detaljniji opis logrotate možete pronaći u priručniku, izvršavajući “čovek logrotate” komanda
Prikupljanje Linux dnevnika - dnevnik
Usluga seče trupaca systemd-journald je dio inicijalizacionog sistema systemd. Linux log fajlovi su pohranjeni u “/var/log/journal/” u posebnom formatu i može se otvoriti uz pomoć journalctl korisnost. Format zapisa je potpuno isti kao u rsyslog.
naredba journalctl bez atributa prikazuje sve zapise, ali nije pogodan za veće dnevnike. Pogledajmo neke opcije ovog uslužnog programa.
journalctl -b- prikaži sve zapise od posljednjeg startajournalctl -S "2020-02-17 12:00" -U "2020-02-17 12:10"- prikazati zapis u određenom vremenskom periodujournalctl -u pptpd- prikazati evidenciju određene uslugejournalctl -k- prikaži poruke kernelajournalctl -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 bolju fleksibilnost možete kombinirati ove opcije. Pokažimo sve greške pptpd usluga
journalctl -u pptpd -p err
Ako navedete putanju do izvršne datoteke kao atribut, uslužni program će prikazati sve poruke koje šalje ova datoteka. Hajde da prikažemo sve poruke koje šalje fajl “/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
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 “/ var / log /” folder u kojem se pohranjuju svi pokušaji prijave. Ovi fajlovi su binarni i mogu se otvoriti samo posebnim programima.
/var/log/wtmp sadrži informacije o uspješnim pokušajima prijave. Koristite posljednji uslužni program da ga otvorite.
/var/log/btmp - sadrži sve neuspjele pokušaje prijave. Može se otvoriti pomoću lastb s naprednim dozvolama. Atribut -n definira broj linija prikazanih od kraja datoteke.
/var/log/lastlog - sadrži vrijeme posljednje akcije prijave za svaki zapis računa. Može se otvoriti sa lastlog