Ubuntu logovanje. Linux log fajlovi po redu. log datoteke i njihovu lokaciju u Linuxu

Uvod

Jedna od stvari koja GNU/Linux čini odličnim operativni sistem je da se gotovo sve i sve što se dešava na sistemu i sistemu može prijaviti na neki način. Ove informacije su od neprocjenjive vrijednosti za korištenje sistema na informiran način i trebale bi biti jedan od prvih resursa koje koristite za rješavanje problema sa sistemom i aplikacijama. Dnevnici vam mogu reći gotovo sve što trebate znati, sve dok imate ideju gdje prvo tražiti.

Vaš Ubuntu sistem pruža vitalne informacije koristeći različite sistemske log fajlove. Ove datoteke evidencije su obično običan ASCII tekst u standardnom formatu datoteke dnevnika, a većina njih se nalazi u tradicionalnom poddirektorijumu sistemskog dnevnika /var/log. Mnogi se generišu od strane demona sistemskog dnevnika, syslogd-a u ime sistema i određenih aplikacija, dok neke aplikacije generišu sopstvene dnevnike upisivanjem direktno u datoteke u /var/log .

Ovaj vodič govori o tome kako čitati i koristiti nekoliko od ovih sistemskih log datoteka, kako koristiti i konfigurirati sistemski demon za evidentiranje, syslogd i kako funkcionira rotacija dnevnika. Vidite Resursi odjeljak za dodatne informacije.

Ciljana publika

Ovaj vodič će biti dovoljno jednostavan za korištenje ako imate iskustva s korištenjem konzole i uređivanjem tekstualnih datoteka pomoću uređivača teksta. Pogledajte kraj ovog dokumenta za neke bitne komande koje vam mogu pomoći da se snađete oko ovih datoteka ako ste relativno novi u komandnoj liniji.

Sistemski dnevnici

Sistemski dnevniki se prvenstveno bave funkcionisanjem Ubuntu sistema, a ne nužno dodatnim aplikacijama koje dodaju korisnici. Primjeri uključuju mehanizme autorizacije, sistemske demone, sistemske poruke i sam sveobuhvatni sistemski dnevnik, syslog.

Dnevnik autorizacije

Autorizacijski dnevnik prati korištenje sistema autorizacije, mehanizama za autorizaciju korisnika koji traže korisničke lozinke, kao što je sistem Pluggable Authentication Module (PAM), naredba sudo, udaljene prijave na sshd i tako dalje. Datoteci dnevnika autorizacije može se pristupiti na /var/log/auth.log. Ovaj dnevnik je koristan za učenje o korisničkim prijavama i korištenju naredbe sudo.

Koristite grep da smanjite jačinu zvuka. Na primjer, da vidite samo informacije u Registru autorizacije koje se odnose na sshd prijave, koristite ovo:

grep sshd /var/log/auth.log | manje

Daemon Log

Daemon je program koji radi u pozadini, uglavnom bez ljudske intervencije, izvodeći neke operacije važne za pravilno funkcionisanje vašeg sistema. Daemon log na /var/log/daemon.log i sadrži informacije o pokrenutim sistemskim i aplikacijskim demonima kao što je demon gdm Gnome Display Manager, Bluetooth HCI demon hcid ili demon MySQL baze podataka mysqld. Ovo vam može pomoći da riješite probleme s određenim demonom.

Opet, koristite grep za pronalaženje određenih informacija, dodajući ime demona koji vas zanima.

Debug Log

Dnevnik otklanjanja grešaka na /var/log/debug i pruža detaljne poruke za otklanjanje grešaka iz Ubuntu sistema i aplikacija koje se evidentiraju u syslogd na nivou DEBUG.

Kernel Log

Dnevnik kernela na /var/log/kern.log pruža detaljan dnevnik poruka iz Ubuntu Linux kernela. Ove poruke se mogu pokazati korisnima za rješavanje problema s novim ili prilagođenim kernelom, na primjer.

Prsten prstena jezgra

Prstenasti bafer kernela nije zapravo log datoteka sam po sebi, već područje u pokrenutom kernelu za koje možete tražiti poruke o pokretanju kernela preko dmesg uslužnog programa. Da vidite poruke, koristite ovo:

dmesg | manje

Ili da tražite redove koji spominju Plug & Play sistem, na primjer, koristite grep ovako:

dmesg | grep pnp | manje

Podrazumevano, skripta za inicijalizaciju sistema /etc/init.d/bootmisc.sh takođe šalje sve poruke o pokretanju u datoteku /var/log/dmesg. Ovu datoteku možete pregledavati i pretraživati ​​na uobičajen način.

Sistemski dnevnik

Sistemski dnevnik obično sadrži najveći dio informacija o vašem Ubuntu sistemu. Nalazi se na /var/log/syslog i može sadržavati informacije koje drugi zapisnici nemaju. Konsultujte sistemski dnevnik kada ne možete da pronađete željene informacije dnevnika u drugom dnevniku. Takođe sadrži sve što je nekada bilo u /var/log/messages.

Dnevnici aplikacija

Mnoge aplikacije također kreiraju dnevnike u /var/log. Ako navedete sadržaj vašeg /var/log poddirektorijuma, vidjet ćete poznata imena, kao što je /var/log/apache2 koja predstavlja dnevnike za Apache 2 web server, ili /var/log/samba , koji sadrži zapisnike za Samba server. Ovaj dio vodiča uvodi neke specifične primjere dnevnika aplikacija i informacije sadržane u njima.

Dnevnici Apache HTTP servera

Podrazumevana instalacija za Apache2 na Ubuntu kreira poddirektorijum dnevnika: /var/log/apache2. Unutar ovog poddirektorijuma nalaze se dvije datoteke dnevnika s dvije različite svrhe:

    /var/log/apache2/access.log - zapisi svake servisirane stranice i svake datoteke koju je učitao web server.

    /var/log/apache2/error.log - zapisi svih stanja greške koje je prijavio HTTP server

Podrazumevano, svaki put kada Apache pristupi datoteci ili stranici, evidencije pristupa beleže IP adresu, vreme i datum, identifikacioni niz pretraživača, HTTP kod rezultata i tekst stvarnog upita, koji će generalno biti GET za prikaz stranice. Pogledajte Apache dokumentaciju za kompletan pregled; dosta toga se može izvući iz ove datoteke, i zaista postoje mnogi statistički paketi koji vrše analizu ovih dnevnika.

Takođe, svaki put kada dođe do greške, Apache dodaje red u dnevnik grešaka. Ako pokrećete PHP sa onemogućenim porukama o greškama i upozorenjima, ovo može biti vaš jedini način da identifikujete greške.

CUPS Print System Logs

Zajednički Unix sistem za štampanje (CUPS) koristi podrazumevanu datoteku evidencije /var/log/cups/error_log za skladištenje informacija i poruka o greškama. Ako trebate riješiti problem s ispisom u Ubuntu-u, ovaj dnevnik bi mogao biti dobro mjesto za početak.

Rootkit Hunter Log

Uslužni program Rootkit Hunter (rkhunter) provjerava vaš Ubuntu sistem na pozadinska vrata, sniffere i rootkite, što su sve znakovi kompromitovanja vašeg sistema. Dnevnik koji rkhunter koristi nalazi se na /var/log/rkhunter.log.

Samba SMB Server Logs

Server Message Block Protocol (SMB) server, Samba se popularno koristi za deljenje datoteka između vašeg Ubuntu računara i drugih računara koji podržavaju SMB protokol. Samba čuva tri različite vrste dnevnika u poddirektoriju /var/log/samba:

    log.nmbd - poruke povezane sa Sambinom NETBIOS preko IP funkcionalnosti (mrežne stvari)

    log.smbd - poruke povezane sa Sambinom SMB/CIFS funkcijom (stvari za dijeljenje datoteka i ispisa)

    log. - poruke koje se odnose na zahtjeve za uslugama sa IP adrese sadržane u imenu datoteke dnevnika, na primjer, log.192.168.1.1 .

X11 Server Log

Podrazumevani X11 Windowing Server koji se koristi sa Ubuntuom je Xorg X11 server, i pod pretpostavkom da vaš računar ima definisan samo jedan ekran, on čuva dnevnik poruke u datoteci /var/log/Xorg.0.log . Ovaj dnevnik je koristan za dijagnosticiranje problema s vašim X11 okruženjem.

Dnevnici koji nisu čitljivi ljudima

Neke datoteke evidencije koje se nalaze u poddirektorijumu /var/log dizajnirane su tako da ih mogu čitati aplikacije, a ne nužno i ljudi. Neki primjeri takvih datoteka dnevnika koji se pojavljuju u /var/log slijede.

Log grešaka Log

Dnevnik neuspjeha prijavljivanja koji se nalazi na /var/log/faillog zapravo je dizajniran da bude raščlanjen i prikazan pomoću naredbe dnevnika greške. Na primjer, da ispišete nedavne neuspjele prijave, koristite ovo:

faillog

Dnevnik zadnjih prijava

Zadnju evidenciju prijavljivanja na /var/log/lastlog ljudi obično ne bi trebali raščlanjivati ​​i ispitivati, već bi se trebali koristiti zajedno sa naredbom lastlog. Na primjer, da vidite listu prijava s naredbom lastlog, prikazanu jednu stranicu po ekranu s naredbom less, koristite sljedeću naredbu:

lastlog | manje

Log Records Log

Datoteka /var/log/wtmp sadrži zapise za prijavu, ali za razliku od /var/log/lastlog iznad, /var/log/wtmp se ne koristi za prikaz liste nedavnih prijava, već ga koriste drugi uslužni programi kao što je who naredba za predstavljanje liste trenutno prijavljenih korisnika. Ova komanda će prikazati korisnike koji su trenutno prijavljeni na vašu mašinu:

SZO

Daemon sistemske evidencije (syslogd)

Daemon za evidentiranje sistema syslogd, također poznat kao sysklogd, čeka poruke za evidentiranje iz brojnih izvora i usmjerava ih na odgovarajuću datoteku ili mrežno odredište. Poruke evidentirane u syslogd obično sadrže uobičajene elemente kao što su sistemska imena hostova i vremenske oznake pored specifičnih informacija dnevnika.

Konfiguracija syslogd-a

Konfiguracijski fajl syslogd demona je /etc/syslog.conf. Svaki unos u ovoj datoteci sastoji se od dva polja, selektora i akcije. auth objekt koji se bavi autorizacijom i nivo prioriteta za evidentiranje takvih informacija, kao što je npr info, ili upozorenje. Polje akcije sastoji se od cilja za informacije dnevnika, kao što je standardna datoteka dnevnika (tj. /var/log/syslog) ili ime hosta udaljenog računara na koje se šalju informacije dnevnika.

Prenošenje poruka u syslogd pomoću Loggera

U alatu za evidentiranje postoji uredan uslužni program koji omogućava proizvoljno postavljanje poruka u sistemski dnevnik (tj. /var/log/syslog). Na primjer, pretpostavimo da je vaše korisničko ime buddha i želite da unesete poruku u sistemski dnevnik o posebno ukusnoj pici koju jedete, možete koristiti naredbu kao što je sljedeća na terminalskom promptu:

logger Ova pizza iz Vinnys Gourmet Rocks

i završili biste sa linijom u /var/log/syslog datoteci ovako:

12. januar 23:34:45 localhost buddha: Ova pizza iz Vinnys Gourmet Rocks

Možete čak odrediti oznaku iz koje dolaze poruke i preusmjeriti izlaznu standardnu ​​grešku.

# # greška uzorka zapisivača jive # logmsg="/usr/bin/logger -s -t MyScript " # objavi šta je ova skripta, čak i u log $logmsg "Provjera direktorija FooScript Jive 1.0" # test za postojanje Freda" s home dir na ovoj mašini ako je [ -d /home/fred ]; zatim $logmsg "I. Fred's Home Directory Found" else $logmsg "E. Fred's Home Directory NIJE pronađen. "Boo Hoo." izlaz 1 fi

Izvođenje ove skripte kao chkdir.sh na mašini na kojoj Fred nema početni direktorij, /home/fred , daje sljedeće rezultate:

bumpy@butters:~$./chkdir.sh MyScript: Provjera direktorija FooScript Jive 1.0 MyScript: E. Fredov početni direktorij NIJE pronađen Boo Hoo. bumpy@butters:~$tail -n 2 /var/log/syslog 12. januar 23:23:11 localhost MyScript: Provjera direktorija FooScript Jive 1.0 Jan 12 23:23:11 localhost MyScript: E. Fred's Home Directory NIJE pronađen. Boo Hoo.

Dakle, kao što vidite, primili smo poruke i putem standardne greške, na promptu terminala, a pojavljuju se i u našem syslogu.

Rotacija dnevnika

Kada pregledavate liste direktorija u /var/log ili bilo kojem od njegovih poddirektorija, možete naići na datoteke dnevnika s imenima kao što su daemon.log.0, daemon.log.1.gz, itd. Šta su ovi log fajlovi? Oni su "rotirani" log fajlovi. To jest, oni su automatski preimenovani nakon unaprijed definiranog vremenskog okvira, a novi originalni dnevnik je započeo. Nakon još više vremena datoteke dnevnika se komprimiraju pomoću gzip uslužnog programa kao u slučaju primjera daemon.log.1.gz. Svrha rotacije dnevnika je arhiviranje i komprimiranje starih dnevnika tako da troše manje prostora na disku, ali su i dalje dostupni za pregled po potrebi. Šta upravlja ovom funkcijom? Naravno, komanda logorotacije! Tipično, logrotate se poziva iz cron skripte za cijeli sistem /etc/cron.daily/logrotate i dalje definira konfiguracijskom datotekom /etc/logrotate.conf. Pojedinačne konfiguracijske datoteke se mogu dodati u /etc/logrotate.d (gdje su, na primjer, pohranjene apache2 i mysql konfiguracije).

Ovaj vodič neće pokriti bezbroj načina na koje se logrotate može konfigurirati za rukovanje automatskom rotacijom bilo koje datoteke evidencije na vašem Ubuntu sistemu. Za više detalja, provjerite Resursi odjeljak ovog vodiča.

BILJEŠKA: Takođe možete rotirati sistemske log fajlove preko cron.daily skripte /etc/cron.daily/sysklogd umjesto korištenja logrotate. Zapravo, pomoćni savelog može proizvesti neočekivane rezultate pri rotaciji dnevnika na koje konfiguriranje logrotate izgleda da nema efekta. U tim slučajevima, trebali biste provjeriti cron.daily sysklogd skriptu u /etc/cron.daily/sysklogd i pročitati stranicu priručnika za savelog da vidite da li savelog zapravo ne radi rotaciju na način koji nije ono što vi navodite logrotate.

Essential Commands

Ako ste novi u konzoli i Linux komandnoj liniji, ove komande će vas pokrenuti do tačke u kojoj možete raditi sa datotekama dnevnika na osnovnom nivou.

Počinjemo

Za promjenu u direktorij dnevnika, gdje se nalazi većina ovih datoteka, koristite naredbu cd. Ovo štedi potrebu za upisivanjem punog imena putanje za svaku narednu naredbu:

cd /var/log

Uređivanje datoteka

Možete pregledavati i uređivati ​​datoteke u GEdit ili Kate, jednostavnim uređivačima teksta koji dolaze s Ubuntuom i Kubuntuom, ali oni mogu biti pretjerani kada sve što želite je pogledati datoteku ili napraviti jednostavne izmjene. Najlakši uređivač za korištenje sa konzole je nano, koji je manje moćan, ali i manje komplikovan od vim-a ili emacsa. Naredba za uređivanje određene datoteke dnevnika /var/log/example.log koristeći nano je:

nano example.log

Pritisnite Ctrl+X za izlaz. Pitaće vas da li želite da sačuvate promene kada izađete, ali osim ako ga ne pokrenete komandom sudo, fajlovi neće biti upisani. Općenito, nećete želeti da sačuvate svoje promene u fajlovima evidencije, naravno.

Pregledanje datoteka

Da jednostavno pogledate datoteku, uređivač je pretjeran. Upotrijebite naredbu less, koja pregledava datoteku jedan ekran po jedan:

manje primjer.log

Nije vam potreban sudo da biste pogledali datoteku. Pritisnite h za pomoć ili q da biste izašli. Tasteri sa kursorom i tipke za stranicu gore/dolje će raditi kako se očekuje, a kosa crta ("/") će raditi s velikim slovima - osetljiva pretraga; taster n ponavlja poslednju pretragu.

Pregled početka datoteka

Da vidite prvih deset redova datoteke, koristite naredbu head:

glava primjer.log

Da biste vidjeli neki drugi broj redova s ​​početka datoteke, dodajte prekidač -n, na sljedeći način:

glava -n 20 primjer.log

Pregledanje kraja fajlova

Da biste vidjeli posljednjih deset linija datoteke, analogna naredba je tail:

tail example.log

Opet, prekidač -n vam daje kontrolu nad tim koliko redova prikazuje:

rep -n 20 primjer.log

Gledanje datoteke koja se mijenja

Takođe, prekidač -f ("follow") stavlja rep u petlju, neprestano čekajući nove dodatke datoteci koju prikazuje. Ovo je korisno za praćenje datoteka koje se ažuriraju u realnom vremenu:

rep -f primjer.log

Pritisnite Ctrl+C da napustite petlju.

Searching Files

Budući da datoteke evidencije mogu biti velike i glomazne, pomaže u fokusiranju. Naredba grep vam pomaže da uklonite samo sadržaj do kojeg vam je stalo. Da biste pronašli sve redove u datoteci koja sadrži riječ "sistem", na primjer, koristite ovo:

grep "sistem" example.log

Da biste pronašli sve redove koji sadrže "sistem" na početku reda, koristite ovo:

grep "^sistem" primjer.log

Obratite pažnju na simbol kare, regularni izraz koji odgovara samo početku reda. Ovo je manje korisno za standardne datoteke dnevnika, koje uvijek počinju datumom i vremenom, ali inače može biti zgodno. Nemaju svi fajlovi standardni format.

Svaki put kada je rezultat grep-a još uvijek predugačak, možete ga prenijeti kroz manje:

grep "sistem" example.log | manje

Resursi

Dodatne informacije o sistemskim i aplikacijskim evidencijama i syslogd-u dostupne su putem sljedećih izvora:

Lokalni sistemski resursi

Stranica sistemskog priručnika za uslužni program za bafer prstena jezgra dmesg

Stranica sistemskog priručnika za naredbu dnevnika grešaka (i također konfiguracijski fajl dnevnika grešaka preko man 5 dnevnika grešaka)

Stranica sistemskog priručnika za uslužni program za pretraživanje grep obrazaca

Stranica sistemskog priručnika za glavni uslužni program

Stranica sistemskog priručnika za demon dnevnika kernela (klogd)

Sistemski priručnik za posljednju naredbu koja prikazuje posljednje prijavljene korisnike

Stranica sistemskog priručnika za uslužni program manje stranica

Stranica sistemskog priručnika za sučelje komandne linije dnevnika za uslužni program syslog

Stranica sistemskog priručnika za uslužni program logrotate

Stranica sistemskog priručnika za uslužni program za spremanje datoteke dnevnika savelog

Stranica sistemskog priručnika za demona sistemskog dnevnika (syslogd)

Stranica sistemskog priručnika za konfiguracijsku datoteku syslogd

Stranica sistemskog priručnika za pomoćni program rep


Kada gledate datoteke dnevnika (log datoteke) u Linuxu, ponekad morate pratiti nove unose dnevnika u realnom vremenu. Odnosno, određujete koju datoteku evidencije (ili datoteke) želite da vidite i nadgledate u realnom vremenu za nove unose u toj datoteci.

Nadgledanje log fajlova sa komandom tail

Ako pokrenete naredbu tailFileName bez ikakvih dodatnih argumenata, poslednjih 10 redova fajla će biti odštampano i komanda će završiti svoj rad.

Da bi naredba tail kontinuirano izlazila poslednje beleške u datoteci, odnosno ako su se novi unosi pojavili u datoteci, tada su informacije na ekranu ažurirane, koristi se opcija -f:
rep -f LogFileName

Pokrenite naredbu tail -f za izlaz datoteke dnevnika /var/log/syslog

rep -f /var/log/syslog

Pošto se opcija koristi -f , tail komanda ne završava svoj posao, već čeka da se novi unosi pojave u log datoteci. Čim se novi unosi dodaju u datoteku dnevnika, oni će odmah biti prikazani u terminalu.

Da biste prekinuli izvršavanje komande, pritisnite prečicu na tastaturi Ctrl+C

tailf command

Naredba tail -f je ekvivalentna naredbi tailf.

Upotreba:

Tailf /var/log/mylogfile.log

Važna razlika između naredbe tailf i tail -f je u tome što tailf ne pristupa datoteci kada nije izmijenjena. Kao posljedica toga, vrijeme pristupa datoteci se ne ažurira i sistem ne ispušta kontinuirano datoteku na disk kada se datoteka ne ažurira.

Opis komande tailf ukazuje da je korisna za praćenje log fajlova na laptopovima. Pošto se disku ne pristupa nepotrebno i trajanje baterije je očuvano.

rep -F. Ako je datoteka preimenovana ili obrisana

Tipično, u Linuxu, datoteke dnevnika se ne pišu na neodređeno vrijeme, inače bi takav fajl bio vrlo nezgodan za korištenje u budućnosti. Umjesto toga, koristi se takozvana rotacija datoteke. Kada datoteka evidencije postane velika, ona se ili briše ili preimenuje (kreira se rezervna kopija datoteke), a dalje poruke počinju da se upisuju u novu, praznu datoteku.

Naredba tail ima dvije opcije: -f i -F

  • Ako se koristi opcija -f a praćena datoteka je preimenovana, komanda tail nastavlja pratiti već preimenovanu datoteku. Tim rep u ovom slučaju je vezan za identifikator (inode) datoteke.
  • Ako se koristi opcija -F a praćeni fajl se preimenuje, komanda tail će to detektovati, i čim se kreira nova datoteka dnevnika (sa imenom koje smo naveli u komandi rep), tim repće početi pratiti ovaj novi fajl.

Pogledajmo primjer.

Nadgledat ćemo datoteku dnevnika /var/log/apache2/error.log. Izvršite naredbu tail s opcijom -F

Rep -F /var/log/apache2/error.log

Ako sistem premjesti (imenuje) datoteku error.log u error.log.1 i kreira novu datoteku error.log, tada će naša tail komanda nastaviti da nadgleda novu datoteku error.log

Ako bismo koristili opciju u ovom primjeru -f , tada bi komanda tail nastavila da nadgleda datoteku error.log.1, koja više nije relevantna za nas kada gledamo dnevnike u realnom vremenu.

Nadgledajte više log fajlova istovremeno

Komanda tail podržava praćenje više datoteka odjednom. Da biste to učinili, morate navesti imena datoteka odvojena razmacima.

Rep -f /var/log/apache2/error.log /var/log/apache2/access.log

Čim se bilo koja od datoteka promijeni, naziv ove datoteke i novi unosi u njoj se prikazuju na ekranu.

Za istovremeno praćenje nekoliko datoteka dnevnika, postoji vrlo zgodan multitail uslužni program

Ne prikazuje samo podatke, već kreira svoj prozor (oblast) za svaku datoteku i prikazuje podatke u ovom prozoru. Uz njegovu pomoć, vrlo je zgodno pratiti više datoteka dnevnika odjednom i vidjeti ih u jednom prozoru terminala.

Multitail uslužni program se može instalirati iz standardnih spremišta vaše distribucije. Za instalaciju pokrenite naredbu (odaberite odgovarajuću naredbu za svoju distribuciju):

Sudo apt install multitail sudo yum install multitail sudo dnf install multitail

Upotreba:

Multitail /var/log/apache2/access.log /var/log/apache2/error.log

Da biste izašli iz uslužnog programa, pritisnite taster q

Sve datoteke dnevnika se nalaze u /var/log direktoriju. U tom direktoriju postoje određene datoteke za svaku vrstu dnevnika. Na primjer, sistemski dnevnici, kao što su aktivnosti kernela, evidentiraju se u syslog datoteci.

Neki od najčešćih log datoteka u tom direktoriju su:

    U direktoriju apt nalazi se datoteka history.log koja čuva sve informacije o instalaciji i uklanjanju paketa, čak i početnu izgradnju sistema kao Live CD. Možete otvoriti ovu datoteku da vidite ovu vrlo zanimljivu datoteku.

    U direktoriju dist-upgrade postoji datoteka apt.log koja bilježi informacije tokom nadogradnje distribucije

    U instalateru direktorija mogu se pronaći log datoteke koje su kreirane tokom instalacije.

    Postoji apport.log datoteka koja čuva informacije o kvarovima u vašem sistemu i prijavljuje ih.

    Datoteka auth.log uključuje informacije o aktivnostima provjere autentičnosti kao što je kada se autentificirate kao root korisnik putem sudoa.

    Datoteka dpkg.log čuva detalje niskog nivoa o instalaciji i uklanjanju paketa u vezi sa dpkg. Možda ste svjesni da apt sistem ovisi o dpkg za instalaciju i uklanjanje paketa.

    boot.log uključuje informacije o svakom pokretanju.

    kern.log sprema informacije o kernelu kao što su upozorenja, greške itd.

    alternatives.log uključuje istoriju svih alternativa koje su postavili različiti paketi i njihovo uklanjanje putem naredbe update-alternatives.

    Još jedan važan log fajl je Xorg.log koji uključuje informacije o grafičkom drajveru, njegovim kvarovima, upozorenjima itd.

Neki drugi tipovi datoteka dnevnika mogu biti tu u zavisnosti od vaših instaliranih paketa. Na primjer, Moj sistem također uključuje datoteke dnevnika epoptes.log koje će biti tu samo ako instalirate epoptes paket.

Promjene nakon systemd

Sa pojavom systemd-a, evidentiranjem uglavnom upravlja uslužni program journalctl i pohranjuje zapise u binarnom formatu u /var/lib/systemd/catalog/database datoteci. Ova datoteka nabraja sve evidencije uključujući kernel, boot i dnevnike aplikacija i pruža potrebne dnevnike putem journalctl uslužnog programa.

Evo dobrog članka o journalctl o tome kako ga možete koristiti za dohvaćanje potrebnih informacija dnevnika.

Tokom svog rada, sistem prati i pohranjuje u posebne datoteke neke događaje koje smatra važnim ili jednostavno neophodnim za ispravljanje i otklanjanje grešaka, neispravnih konfiguracija itd. Fajlovi u kojima su ti događaji pohranjeni se nazivaju log fajlovi ili registracija fajlovi . Datoteke za evidentiranje često zauzimaju previše prostora na disku, što može ukazivati ​​na kvar sistema, greške u konfiguraciji ili jednostavno netačnu konfiguraciju demona za evidentiranje događaja koji prate i prikupljaju sve. Dakle, rad sa sistemom registracije događaja je važna komponenta u radu svakog administratora sistema, od koje u potpunosti zavisi kvalitet sistemske usluge, a samim tim i njihova pouzdanost i trajnost.

Kako funkcioniše sistem registracije događaja?

Iskusni sistem administratori znaju da je potrebno redovno i sa posebnom pažnjom pregledavati i analizirati registracione evidencije (fajlove). Informacije sadržane u zapisnicima često pomažu u brzom rješavanju problema ili identificiranju skrivenih problema u konfiguraciji sistema. Za praćenje događaja od strane sistema, provjeravanje dnevnika, snimanje, skladištenje, arhiviranje i brisanje informacija iz ovih dnevnika, moraju se razviti i odobriti posebni propisi za organizaciju koja radi i/ili održava sisteme, servere i mreže.

Glavni alat za evidentiranje događaja u UNIX-u i Linu i dalje ostaje syslogd daemon Syslog sistemi. Ali također treba imati na umu da već duže vrijeme, zbog raznolikosti raznih grana UNIX-a i Linux verzije Mnogi softverski paketi, servisne skripte i mrežni demoni koriste vlastite dnevnike, ponekad u egzotičnim formatima.

Generalno, sistem Syslog (i drugi specijalizovani programi) presreće praćeni događaj i registruje ga u log fajl. Sam registrovani događaj je red teksta koji sadrži podatke o datumu/vremenu, vrsti i ozbiljnosti događaja. Ovisno o situaciji, ovaj skup može uključivati ​​i druge podatke. Linija samog registrovanog događaja je razbijena znakovima za razgraničenje: razmacima, tabulatorima i interpunkcijskim znacima kako bi se istaknule navedene komponente.

Dnevnici su laki za pregled jer su regularni tekstualne datoteke. Za efikasan rad sa časopisima najviše standardni alati iz osnovne distribucije bilo koje distribucije - naredbe i . Ako trebate pročešljati vrlo velike i složene zapise, onda možete (pa čak i trebate) umjesto uslužnog programa grep koristiti drugi alat koji je mnogo produktivniji i fleksibilniji u takvim zadacima - . Jezik za obradu teksta Perl je takođe veoma pogodan za ovo.

Tipičan unos Syslog sistemskog dnevnika obično izgleda ovako:

18. decembar 15:12:42 backup.main.superhosting.ru sbatchd: sbatchd/main: ls_info() nije uspjelo: LIM je isključen; pokušajte kasnije; pokušavam ... 18. decembar 15:14:28 system.main.superhosting.ru pop-proxy: Veza sa 186.115.198.84 18. decembra 15:14:30 control.main.superhosting.ru pingem : office.main.superhosting.ru nije odgovorio 42 puta 18. decembar 15:15:05 service.main.superhosting.ru vmunix: Višestruki softerrors: Viđeno 100ispravljenih softerrors od SIMM J0201 18. decembar 15:15:16 backup.main.superhosting.ru: PAMssh_uddnix session: P zatvoreno "za korisnika Trent

U ovom slučaju, možete vidjeti da jedan od Syslog dnevnika sadrži događaje iz nekoliko izvora: sbathd, pingem, pop-proxy programi. Također možete vidjeti da se događaji evidentiraju za nekoliko hostova koji su u interakciji sa ovim sistemom: backup, sistem, ured i servis.

log datoteke i njihovu lokaciju u Linuxu

Kao što je već napomenuto, u UNIX sistemi i Linux ne postoje jasne konvencije o tome gdje i kako treba pohranjivati ​​dnevnike. Oni mogu biti raštrkani po čitavom sistemu datoteka, tako da je važno da svaki administrator odmah shvati gdje i za koje pakete i demone se nalaze odgovarajuće datoteke evidencije. Ali uprkos nedostatku jasnih formalnih propisa o tome gde se čuvaju evidencije, i dalje postoji tradicionalno pravilo da se ove datoteke nalaze u /var/log, /var/log/syslog, kao iu /var/adm direktorijumima.

Po pravilu, samo superkorisnik ima pristup čitanju fajlova u određenim direktorijumima, ali nema ništa loše u postavljanju „demokratskijeg“ načina pristupa za često pregledane dnevnike koji takođe ne sadrže važne sistemske informacije. Obično se ova opcija koristi i za praktičnost i uštedu vremena kada trebate često i redovno pregledavati neke dnevnike, na primjer za Apache web server, koji se obično nalaze u /var/log/apache2 ili /var/log/httpd .

Također je vrijedno zapamtiti da postoje slučajevi kada (posebno na pogrešnim konfiguracijama) ukupni volumen datoteka dnevnika naglo raste i postoji visok rizik od rušenja sistema. Radi lakšeg praćenja slobodnog prostora na uređajima za pohranu, kao i radi pouzdanosti, /var direktorij se često stavlja u poseban sistem podataka na posebnoj sekciji.

Neki posebni log fajlovi

Sljedeća tabela pruža informacije o nekim datotekama dnevnika, informacije iz kojih su vrlo korisne za administraciju sistema:

File Program Mjesto Frekvencija Sistemi Svrha
acpid acpid F 64k RZ Događaji u sistemu napajanja
auth.log sudo i drugi S M U Informacije o autorizaciji
apache2/* httpd ili apache2 F D ZU Dnevnici Apache web servera
prikladno* APT F M U Instalateri paketa
boot.log Pokreni skripte F M R Pokrenite evidenciju skripte
boot.msg Core IN - Z Slika bafera poruka kernela
cron cron S N RAH Dnevnici i informacije o cron daemonu
šolje/* CAPS F N ZRU Poruke vezane za sistem štampanja
daemon.log Razno S N U Poruke demonskih alata
debug Razno S D U Poruke za otklanjanje grešaka
dmesg Core IN - RU Slika bafera poruka kernela
dpkg.log dpkg F M U Instalateri paketa
faillog Ulogovati se N N RZU Informacije o neuspjelim pokušajima autorizacije
apache2/* Httpd ili apache2 F D R Dnevnici Apache web servera za /etc direktorij
kern.log Ulogovati se IN - RZ Sve poruke kernel alata
lastlog Ulogovati se IN - RZ Vrijeme posljednje prijave za svakog korisnika (ovaj fajl je binarni)
pošta* Programi za e-poštu S N Sve Elektronske komunikacije
poruke Razno S N RZUS
rpmpkgs cron.daily IN D R Lista instaliranih RPM paketa
samba/* smbd i drugi F N - Informacije o Samba serveru
siguran sshd i drugi S M R Povjerljive autorizacijske poruke
sulog su F - SAH Informacije o uspješnim i neuspješnim pokušajima korištenja naredbe su
syslog* Razno S H SUH Glavni sistemski log fajl
upozoriti wpar S H Z Događaji na nivou sistemskog upozorenja/greške
wpars/* wpar F - A Informacije o događaju particije pokretanja
wtmp Ulogovati se IN M Sve Poruke o registraciji sistema (binarni fajl)
xen/* Xen F 1m RZU Informacije sa monitora virtuelne mašine Xen
Xorg.n.log Xorg F N R.S. X Windows Server poruke o greškama
yum.log yum F M R Dnevnik upravljanja paketima

Sljedeće oznake se odnose na ovu tabelu: S - Syslog, B - ugrađeni naziv, F - konfiguracijska datoteka, D - dnevno, N - sedmično, M - mjesečno, NN - veličina u kilobajtima ili megabajtima, Z - SUSE, R - Red Hat i CentOS, S - Solaris, H - HP-UX, A - AIX. Kolona Učestalost označava učestalost brisanja zastarjelih informacija koje se odnose na vrijeme ili veličinu datoteke. Kolona Program označava program koji je kreirao datoteku.

Takođe treba napomenuti da se većina poruka za datoteke prikazane u tabeli šalje u sistem Syslog. Nivo ozbiljnosti i program koji kreira datoteku navedeni su u /etc/initlog.conf konfiguracijskoj datoteci. - ovako radi sistem Syslog. Fajl dnevnika grešaka je binarni i stoga je može pročitati pomoćni program za otkrivanje grešaka.

Ako pronađete grešku, označite dio teksta i kliknite Ctrl+Enter.