Access log ubuntu kako otvoriti. Dnevnici sustava Linux (upravljanje zapisima). Exim log datoteke

💖 Sviđa li vam se? Podijelite vezu sa svojim prijateljima

Dnevnik (log file), kao što ste vjerojatno pogodili, sprema kronologiju događaja za operacijsku salu Linux sustavi, njegove aplikacije i usluge.

Datoteke se pohranjuju u običnom tekstu kako bi bile čitljive. U našem članku ćemo vam reći gdje pronaći log datoteke, dati primjere nekoliko glavnih log datoteka i objasniti kako ih čitati.

Gdje se nalaze log datoteke u Linuxu?

Datoteke zapisnika Linuxa obično se pohranjuju u mapu /var/logs.

Mapa pohranjuje veliki broj datoteka iz kojih možete dobiti informacije za svaku aplikaciju.

Na primjer, kada naredba ls se izvršava, na primjer, u mapi /var/logs, evo nekih dostupnih zapisa:

  • kern.log
  • auth.log
  • bootstrap.log
  • alternative.log
  • samba
  • lightdm

Zadnje tri na ovom popisu su mape, ali također imaju datoteke dnevnika.

Budući da su datoteke dnevnika u tekstualnom formatu, mogu se čitati unosom sljedeće naredbe:

Gornja naredba otvara log datoteku u nano editoru. Ako je log datoteka mala, onda nema ništa bolje nego otvoriti log datoteku u uređivaču, ali ako je log datoteka velika, onda vas vjerojatno zanima samo kraj dnevnika.

Možete odrediti koliko redaka želite prikazati pomoću opcije -n na sljedeći način:

Ako želite vidjeti početak datoteke, možete koristiti naredbu head.

Osnovni zapisnici sustava

Sljedeće datoteke dnevnika su glavne u Linuxu.

  • Dnevnik prijave
  • Demonski dnevnik
  • Dnevnik otklanjanja pogrešaka
  • Dnevnik kernela
  • Dnevnik sustava

Daemon log (daemon.log) prati pokrenute usluge pozadina i obavljanje važnih zadataka. Demoni se uglavnom ne prikazuju na ekranu.

Zapisnik ispravljanja pogrešaka daje izlaz za ispravljanje pogrešaka za aplikacije.

Dnevnik kernela sadrži detaljne informacije o Linux kernelu.

Syslog sadrži većinu informacija o vašem sustavu i osim ako aplikacija nema vlastiti dnevnik, unosi će vjerojatno biti u ovoj datoteci dnevnika.

Analiza sadržaja datoteke dnevnika

Gornja slika prikazuje sadržaj zadnjih 50 datoteka u datoteci dnevnika sustava (syslog).

Svaki redak dnevnika sadrži sljedeće podatke:

  • Naziv hosta
  • Usluga/Primjena
  • Poruka

Primjer jednog od redaka u syslog datoteci:

20. siječnja 12:28:56 gary-virtualbox systemd: početni planer kupova

Rotacija trupaca

Dnevnici se povremeno mijenjaju kako bi se spriječilo da postanu preveliki.

Uslužni program za rotiranje dnevnika odgovoran je za rotiranje datoteka dnevnika. Možete reći da je dnevnik zamijenjen jer će njegovo ime sadržavati broj kao što je auth.log.1, auth.log.2.

Učestalost rotacije dnevnika možete promijeniti uređivanjem datoteke /etc/logrotate.conf.

Ispod je primjer unosa iz datoteke logrotate.conf:

#rotirati datoteke dnevnika
tjedni

#čuvajte zapisničke datoteke u vrijednosti od 4 tjedna

stvoriti nove datoteke dnevnika nakon rotiranja

Kao što vidite, ove se datoteke dnevnika mijenjaju svaki tjedan, a datoteke dnevnika u vrijednosti od četiri tjedna mogu se pohraniti odjednom.

Kada se log datoteka zamijeni, nova datoteka se stvara umjesto nje.

Svaka aplikacija može imati vlastitu politiku rotacije. Ovo je svakako korisno jer će syslog datoteka rasti brže od Cups log datoteke.

Pravila rotacije pohranjena su u /etc/logrotate.d. Svaka aplikacija koja zahtijeva vlastitu politiku rotacije imat će konfiguracijsku datoteku pohranjenu u mapi aplikacije.

Na primjer, apt alat sadrži datoteku u mapi logrotate.d sa sljedećim sadržajem:

/var/log/apt/history.log (
rotirati 12
mjesečno
oblog
missingok
obavijestiprazan
}

U osnovi, ovaj dnevnik vam govori sljedeće. Dnevnik će čuvati datoteke dnevnika 12 tjedana i mijenjat će se svaki mjesec (jedan mjesečno). Dnevnik će biti komprimiran. Ako se u dnevnik ne upisuju poruke (tj. prazan je), to je normalno. Dnevnik neće biti zamijenjen novim ako je prazan.

Da biste promijenili pravila datoteke, zamijenite njene postavke onima koje želite, a zatim pokrenite sljedeću naredbu:

Pronašli ste grešku pri upisu? Odaberite tekst i pritisnite Ctrl + Enter

Upravljanje datotekama dnevnika na Linux sustavu

Linuxove log datoteke

Svi Linux sustavi generiraju sistemske zapisnike koji se mogu pregledati kako bi se pronašle informacije o vašem operativnom sustavu. Ove datoteke dnevnika mogu sadržavati obilje informacija od jednostavnih informativnih poruka do kritičnih problema sa sustavom. Većina kreiranih datoteka za bilježenje su u običnom tekstu. To znači da ih je vrlo jednostavno vidjeti korištenjem standardnih naredbi kao što su "više", "manje", "mačka", "glava", "rep", "pg" ili korištenjem preferiranog uređivača teksta kao što je "vi ili vim".


Prema konvenciji, većina log datoteka koje se kreiraju nalaze se u direktoriju "/var/log/". Ovo je standardno područje gdje se bilježe/snimaju poruke sustava. Ovisno o distribuciji Linuxa koju koristite, vjerojatno ćete imati datoteku "poruka" ili datoteku "syslog" koja sadrži nedavnu aktivnost. Datoteke dnevnika općenito stvara "syslogd" ili "rsyslogd" demon za bilježenje. Ovi demoni su vrlo prilagodljivi i mogu filtrirati poruke u određene datoteke. Osim rukovanja lokalnim događajima, moguće je zapisivati ​​poruke na udaljene poslužitelje namijenjene primanju ove vrste poruka. Prilično je uobičajeno unutar većih organizacija imati namjenski syslog poslužitelj. Neke osnovne opcije konfiguracije bit će obrađene kasnije. Također je uobičajena praksa imati neki oblik procesa rotacije dnevnika.

Dolje je popis nekih uobičajenih datoteka dnevnika koje ćete pronaći. Neki od njih su specifični za distribuciju:


Log datoteka Opis
/var/log/messages Ovdje se bilježe globalne poruke sustava. (zadano područje zapisivanja na nekim sustavima)
/var/log/syslog Ovdje se bilježe poruke globalnog sustava. (zadano područje zapisivanja na nekim sustavima)
/var/log/auth.log Podaci o autorizaciji sustava, uključujući podatke za prijavu korisnika
/var/log/kern.log Ovdje se bilježe poruke kernela
/var/log/mail.log Sadrži podatke o zapisivanju s vašeg poslužitelja e-pošte
/var/log/boot.log Ovdje se bilježe poruke o pokretanju sustava
/var/log/cups.log Poruke povezane s pisačem zabilježene su ovdje
/var/log/wtmp Sadrži informacije koje se odnose na korisnike koji su prijavljeni na vaš sustav
/var/log/samba Samba log datoteke za smbd i nmbd. Ako je konfigurirano, može sadržavati određene datoteke dnevnika za korisnike.
/var/log/dpkg.log Sadrži informacije iz instalacija koje koriste dpkg za instaliranje ili uklanjanje paketa
/var/log/zypper.log Sadrži poruke iz alata za upravljanje paketima zipper
/var/log/apt Sadrži informacije iz ažuriranja paketa koja koriste APT
/var/log/dmesg Sadrži poruke međuspremnika prstena jezgre

Iako gore navedeno nije iscrpan pregled svih datoteka koje se mogu pronaći unutar područja "/var/log". Daje vam grubu ideju o tome što se bilježi. Važno je zapamtiti da će mnogi proizvodi trećih dijelova (softver) također pisati u ovo područje. Često se kreira poddirektorij s raznim podacima dnevnika koji se nalaze unutar njega. Samba je dobar primjer za to.

Kao što je ranije spomenuto, "syslogd" ili "rsyslogd" demon upravlja većinom logovanja na vašim sustavima.

rsyslogd - uslužni program za bilježenje

Rsyslogd je pouzdana proširena verzija usluge syslogd. Linux koristi rsyslogd kao mehanizam za snimanje datoteka dnevnika ili u središnjem području ili podijeljenih u zasebne direktorije radi jasnoće. Također je moguće poslati informacije namjenskom poslužitelju za bilježenje. Više procesa može pisati u isto područje bez uzroka zaključavanja datoteke. Jednostavne naredbe mogu se koristiti izravno iz skripti za pisanje u ovo područje.

Konfiguracijske datoteke

Kako se rsyslogd ponaša na vašem sustavu ovisi o njegovoj konfiguraciji. Ova datoteka se obično nalazi u "/etc/rsyslog.conf". Ova datoteka sadrži tekst koji opisuje što bi se trebalo dogoditi s porukama kada se zabilježe. Ovdje možete odrediti određene direktorije za određene vrste poruka. Zadana pravila zapisivanja općenito se nalaze pod "/etc/rsyslog.d/"

Primjer rsyslogd.conf pod Ubuntuom

/etc/rsyslog.conf


# Zadana pravila zapisivanja mogu se pronaći u /etc/rsyslog.d/50-default.conf ################## #### MODULI #### #### ############# $ModLoad imuxsock # pruža podršku za bilježenje lokalnog sustava $ModLoad imklog # pruža podršku za bilježenje kernela (prethodno to radio rklogd) #$ModLoad immark # pruža --MARK-- mogućnost poruke # pruža prijem UDP syslog #$ModLoad imudp #$UDPServerRun 514 # pruža TCP syslog prijem #$ModLoad imtcp #$InputTCPServerRun 514 ######################### ### #### GLOBALNE DIREKTIVE #### ############################# # # Koristite tradicionalni format vremenske oznake. # Da biste omogućili vremenske oznake visoke preciznosti, komentirajte sljedeći redak. # $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat # Filtrirajte duplicirane poruke $RepeatedMsgReduction on # # Postavite zadana dopuštenja za sve datoteke dnevnika. # $ Fileowner Syslog $ FileGroup Adm $ FileCreatemode 0640 $ DICREATEMODE 0755 $ UMASK 0022 $ privdroptouser Syslog $ privdroptogroup Syslog # # Gdje PLACIRATI E Spool datoteke # $ Workdirectory/Var/Spool/RSyslog # # Include All Config Files in/etc /RSYSLOG. d/ # $IncludeConfig /etc/rsyslog.d/*.conf

Hashes "#" koristi se za označavanje komentara ili za komentiranje funkcije koja nije potrebna.
Obratite pozornost na zadnji redak $IncludeConfig /etc/rsyslog.d/*.conf. Ovdje možemo specificirati prilagođena pravila/preslikavanja.


# Zadana pravila za rsyslog. # # Za više informacija pogledajte rsyslog.conf(5) i /etc/rsyslog.conf # # Prvo neke standardne datoteke dnevnika. Dnevnik po objektu. # auth,authpriv.* /var/log/auth.log *.*;auth,authpriv.none -/var/log/syslog #cron.* /var/log/cron.log #daemon.* -/var/ log/daemon.log kern.* -/var/log/kern.log #lpr.* -/var/log/lpr.log mail.* -/var/log/mail.log #user.* -/var/ log/user.log # # Zapisivanje za sustav pošte. Podijelite ga tako da # je lako pisati skripte za analiziranje ovih datoteka. # #mail.info -/var/log/mail.info #mail.warn -/var/log/mail.warn mail.err /var/log/mail.err # # Zapisivanje za INN sustav vijesti. # news.crit /var/log/news/news.crit news.err /var/log/news/news.err news.notice -/var/log/news/news.notice # # Neki "catch-all" dnevnik datoteke. # #*.=debug;\ # auth,authpriv.none;\ # news.none;mail.none -/var/log/debug #*.=info;*.=notice;*.=warn;\ # auth ,authpriv.none;\ # cron,daemon.none;\ # mail,news.none -/var/log/messages # # Hitni slučajevi šalju se svima koji su prijavljeni. # *.emerg:omusrmsg:* # # Volim imati poruke prikazane na konzoli, ali samo na virtualnoj # konzoli obično ne radim. # #daemon,mail.*;\ # news.=crit;news.=err;news.=notice;\ # *.=debug;*.=info;\ # *.=notice;*.=warn /dev /tty8 # Imenovani kanal /dev/xconsole je za uslužni program `xconsole". Da biste ga koristili, # morate pozvati `xconsole" s opcijom `-file": # # $ xconsole -file /dev/xconsole [.. .] # # NAPOMENA: prilagodite popis ispod, ili ćete poludjeti ako imate # prilično zauzetu stranicu.. # daemon.*;mail.*;\ news.err;\ *.=debug;*.= info;\ *.=obavijest;*.=upozorenje |/dev/xconsole

Zadano područje za bilježenje naziva se "syslog", pogledajte dolje


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

Što su objekti i razine?

Kad god demon rsyslogd primi poruku zapisivanja, djeluje na temelju vrste poruke (Facility) i razine (Priority). Ta se mapiranja mogu vidjeti u vašoj datoteci "/etc/syslog.conf" ili vašim uključenim datotekama "/etc/syslog.d/*.conf".

Svaki unos u konfiguracijskoj datoteci može odrediti jedan ili više birača objekata/razina nakon kojih slijedi radnja. Selektor se sastoji od objekta ili objekata nakon kojih slijedi jedna radnja. Akcija je obično naziv direktorija i datoteke u koju treba primiti poruke.

objekt.razina djelovanje

Primjer: mail.* -/var/log/mail- Ovdje je "mail" mogućnost, razina je postavljena na "*", a radnja je "/var/log/mail"

Objekt

Objekt predstavlja kreatora poruke, a obično se sastoji od:

auth, authpriv, cron, daemon, kern, lpr, mail, oznaka, vijesti, syslog, korisnik, local0 - local7, " * " označava bilo koji objekt

Ove mogućnosti daju nam mogućnost kontrole kamo se šalju poruke iz određenih izvora. Mogućnosti local0 - local7 koriste vaše vlastite skripte.

Razina (prioritet)

Razina određuje prag ozbiljnosti. To mogu biti: (prvo najniži prioritet)

debug, info, obavijest, upozorenje, err, crit, alert, emerg.

Na starijim sustavima možete vidjeti "upozorenje, pogreška ili panika". Razina od nikakavće onemogućiti pridruženi objekt. Ovi prioriteti kontroliraju količinu pojedinosti koja se šalje u svaku datoteku dnevnika. Jedna točka "." odvaja objekt od razine. Zajedno su poznati kao birač poruka . zvjezdica" * " se može koristiti za određivanje svih objekata ili razina. Slično objektima, zamjenski znakovi "*" mogu se koristiti zajedno s "ništa". Samo jedna razina ili zamjenski znak mogu se navesti sa svakim selektorom. Mogu se koristiti sljedeći modifikatori " = " i " ! "

Ako odredite samo jednu razinu unutar selektora bez ikakvih modifikatora, zapravo specificirate tu razinu plus sve ostale prioritete. Na primjer selektor korisnik.obavijest zapravo kaže da će se sve poruke povezane s korisnikom koje imaju razinu obavijesti ili višu biti poslane navedenom akcijski područje. Ako vam je potrebna samo razina "obavijesti", tada ćete morati koristiti " = " modifikator:

korisnik.=obavijest- Sada znači da će sve poruke povezane s korisnikom s razinom prioriteta samo "obavijest" biti poslane u relevantno područje za bilježenje.

Ako koristite " ! " modifikator, to će poništiti vaš prioritet razine. Dakle, ako smo naveli korisnik.!obavijest je ekvivalent svih korisničkih poruka s prioritetom razine "obavijest" ili više. Također možete odrediti korisnik.!=obavijest koji specificiraju sve poruke povezane s korisnikom osim onih s razinom prioriteta "obavijest".

Radnje

Odjeljak akcije je odredište za poruke. The akcijski može biti naziv datoteke kao što je "/var/log/syslog" ili naziv hosta ili IP adresa sa prefiksom znaka "@". Potonja je opcija popularna u velikim organizacijama i poduzećima. Često se poruke povezane sa sigurnošću mogu poslati središnjem poslužitelju za bilježenje radi daljnje istrage.

rsyslog.conf strukture

Budući da je rsyslogd poboljšana verzija syslogd-a, može rukovati starijim konstrukcijama naslijeđenog stila poznatim kao sysklogd. Također rukuje naslijeđenim verzijama rsyslog-a. Međutim, prava snaga rsysloga dolazi do izražaja kada koristite ono što je poznato kao " RainerScript". Ovo je Novi stilski format za rsyslog koji s lakoćom može obrađivati ​​složene slučajeve. U donjem primjeru možete vidjeti unose starog formata zajedno s novijim unosima koji koriste "if - then" konstrukcije za preciznije rukovanje.

Primjer odjeljka "/etc/rsyslog.conf preuzet iz openSUSE


# # NetworkManager u zasebnu datoteku i zaustavi njihovu daljnju obradu # if ($programname == "NetworkManager") ili \ ($programname starts with "nm-") ​​​​\ then -/var/log/NetworkManager & ~ # # email- poruke # mail.* -/var/log/mail mail.info -/var/log/mail.info mail.warning -/var/log/mail.warn mail.err /var/log/mail.err # # vijesti -messages # news.crit -/var/log/news/news.crit news.err -/var/log/news/news.err news.notice -/var/log/news/news.notice

Testiranje poruka s naredbom logger

drvosječa je naredbeno sučelje ljuske u syslog modul. Logger vam omogućuje unose izravno u zapisnik sustava. Ovo je vrlo korisno kada se ugradi u skriptu ili kada želite testirati svoj birač poruka i preslikavanja.

U svom najjednostavnijem obliku možemo izdati zapisivač "Ja sam test". Ova bi poruka zatim otišla u naše zadano područje (vjerojatno /var/log/syslog ili /var/log/messages) ovisno o tome kako ste konfigurirali svoja pravila. Također možete odrediti prioritet pomoću opcije "-p ili --priority". Primjeri radnje zapisivača:


john@john-desktop:/var/log$ logger "Ja sam test loggera" 22. ožujka 22:39:51 john-desktop kernel: [9588.319477] dev_remove_pack: edad0884 nije pronađen. 22. ožujka 22:45:01 john-desktop CRON: (root) CMD (naredba -v debian-sa1 > /dev/null && debian-sa1 1 1) 22. ožujka 22:47:31 john-desktop john: Ja sam Test logera

Osnovna upotreba logera

Upotreba: logger Opcije: -d, --udp koristi UDP (TCP je zadani) -i, --id zabilježi i ID procesa -f, --file prijavite sadržaj ove datoteke -h, --help prikažite ovaj tekst pomoći i izađite -n, --server pisati na ovaj udaljeni poslužitelj syslog -P, --port koristite ovaj UDP port -p, --priority Označite datu poruku s ovim prioritetom -s, --stderr izlazna poruka na standardnu ​​pogrešku kao i -t, --tag označite svaki red ovom oznakom -u, --socket pisati u ovu Unix utičnicu -V, --version izlazne informacije o verziji i izaći

Dobivanje pomoći za Rsyslog

Gore navedeno je namijenjeno kao pregled procesa koji se odvijaju da bi došlo do zapisivanja poruka. Za daljnje informacije možete izdati "man rsyslogd" sa svoje konzole za pregled mnogih opcija. Za daljnje čitanje možete otići na glavnu web stranicu "rsyslog": www.rsyslog.com

dmesg

"dmesg" je posebna naredba koja označava prikaz poruke. dmesg će prikazati međuspremnik poruka kernela. dmesg je vrlo koristan ako želite pregledati poruke koje su brzo proletjele pokraj vašeg zaslona tijekom procesa pokretanja. Još jedan koristan trik je preusmjeravanje izlaza iz naredbe dmesg u privremenu datoteku: dmesg > /tmp/temp.txt.

dmesg je također koristan ako imate problema s I/O uređajem ili "USB" uređajem. dmesg se može koristiti u kombinaciji s grep naredbom za brzo pronalaženje točno onoga što tražite: dmesg | grep -i usb

dmesg osnovni pregled

Upotreba: dmesg Opcije: -C, --clear brisanje međuspremnika prstena jezgre -c, --read-clear čitanje i brisanje svih poruka -D, --console-off onemogući ispis poruka na konzolu -d, --show-delta prikaži vremensku razliku između ispisanih poruka -E, --console-on omogući ispis poruka na konzolu -f, --facility ograniči izlaz na definirane mogućnosti -h, --help prikaz ove pomoći i izlaz -k, --kernel prikaz kernel poruka -l, --level ograničiti izlaz na definirane razine -n, --console-level postavi razinu poruka ispisanih na konzoli -r, --raw ispis međuspremnika sirovih poruka -s, --buffer-size veličina međuspremnika za upit međuspremnika prstena jezgre -T, --ctime prikaži čovjeku čitljivu vremensku oznaku (može biti netočna ako ste upotrijebili OBUSTAVI/NASTAVI) -t, --notime ne ispisuj poruke vremensku oznaku -u, --userspace prikaz korisničkog prostora poruke -V, --version izlazne informacije o verziji i izlaz -x, --decode mogućnost dekodiranja i razina do čitljivog niza Podržane značajke dnevnika: kern - poruke kernela korisnik - nasumične poruke na razini korisnika mail - demon sustava pošte - auth demona sustava - sigurnosne/autorizacijske poruke syslog - poruke koje interno generira syslogd lpr - podsustav line pisača news - mrežni podsustav vijesti Podržane razine dnevnika (prioriteti): emerg - sustav je neupotrebljiv upozorenje - radnja se mora poduzeti odmah crit - kritični uvjeti err - uvjeti pogreške upozorenje - obavijest o uvjetima upozorenja - informacija o normalnom ali značajnom stanju - informativno otklanjanje pogrešaka - poruke na razini otklanjanja pogrešaka

Kao što znate, Linux ima vrlo važan alat sysklogd, koji vam omogućuje vođenje dnevnika događaja koji se događaju u sustavu. Administratori sustava, a svaki korisnik koji naiđe na pogreške morat će pogledati linux dnevnici identificirati problem i riješiti ga.

svi linux log datoteke nalaze se u mapi:
/var/log

Linux log datoteke:
poruke Sadrži globalne zapisnike Linux sustava, uključujući one koji se bilježe pri pokretanju sustava.
dmesg Sadrži poruke primljene od kernela. Zapisuje mnoge poruke tijekom faze pokretanja, prikazuju informacije o hardverskim uređajima koji su inicijalizirani tijekom procesa pokretanja. Broj poruka u zapisniku je ograničen, a kada se datoteka napuni, sa svakom novom porukom stare će biti prebrisane.
auth.log Sadrži informacije o autorizaciji korisnika u sustavu, uključujući prijave korisnika i mehanizme autentifikacije koji su korišteni.
boot.log Sadrži informacije koje se bilježe prilikom pokretanja sustava.
daemon.log Uključuje poruke raznih pozadinskih demona
kern.log Također sadrži poruke iz kernela, korisne u rješavanju grešaka u prilagođenim modulima ugrađenim u kernel.
lastlog Prikazuje podatke o posljednjoj sesiji svih korisnika. Ovo nije tekstualna datoteka i morate upotrijebiti naredbu lastlog da biste je vidjeli.
mail.log zapisnici poslužitelja E-mail radi na sustavu.
korisnik.log Informacije iz svih zapisa na razini korisnika.
Xorg.x.log Dnevnik poruka X poslužitelja.
btmp Sadrži informacije o neuspjelim pokušajima prijave.
šalice Sve poruke vezane za tisak i printere.
kron Kad god Cron demon počne izvršavati program, on piše izvještaj i poruke iz samog programa u ovu datoteku.
siguran Sadrži informacije vezane uz provjeru autentičnosti i autorizaciju.
wtmp Sadrži dnevnik prijava korisnika. Koristite naredbu wtmp za prikaz sadržaja ove datoteke.
faillog Sadrži neuspjele pokušaje prijave. Koristite naredbu faillog za prikaz sadržaja ove datoteke.
mysqld.log Sadrži log datoteke MySQL poslužitelja baze podataka.

Zapisnike Linuxa možete vidjeti pomoću nekoliko konzolnih programa. U nastavku ćemo pogledati nekoliko primjera:

1. Ispis i pomicanje kroz tekst koristeći manje:
manje /var/log/messages

2. Pregledajte zapisnike u stvarnom vremenu:
rep -f /var/log/messages

3. Otvorite datoteku koristeći cat:
mačka /var/log/dmesg

4. Ispišite prvih 10 redaka iz datoteke:
glava /var/log/dmesg

5. Ispišite zadnjih 10 redaka iz datoteke:
rep /var/log/dmesg

6. Ispišite određeni broj redaka:
glava -n3 /var/log/dmesg
gdje je -n3 broj linija koje treba prikazati.

7. Prikazujemo samo greške:
grep -i pogreška /var/log/messages

Osim konzole i uređivači teksta također možete koristiti grafički program“System Log Viewer”, koji će vam pokazati u praktičnom i vizualnom obliku Linux zapisnici.


Kada pregledavate datoteke dnevnika (log datoteke) u Linuxu, ponekad morate pratiti nove unose dnevnika u stvarnom vremenu. Odnosno, odredite koju datoteku (ili datoteke) dnevnika želite vidjeti i pratiti u stvarnom vremenu za nove unose u toj datoteci.

Nadgledanje log datoteka pomoću naredbe tail

Ako pokrenete naredbu tailFileName bez dodatnih argumenata ispisat će se 10 posljednji redovi datoteku i naredba će završiti svoj posao.

Kako bi naredba repa kontinuirano izlazila posljednje note u datoteci, odnosno ako su se u datoteci pojavili novi unosi, tada su informacije na ekranu ažurirane, koristi se opcija -f:
rep -f ImeDatoteke Dnevnika

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

rep -f /var/log/syslog

Budući da se koristi opcija -f, naredba tail ne dovršava svoj posao, već čeka da se novi unosi pojave u log datoteci. Čim se novi unosi dodaju u log datoteku, odmah će se prikazati na terminalu.

Za prekid izvršenja naredbe pritisnite tipkovni prečac Ctrl+C

tailf naredba

Naredba tail -f ekvivalentna je naredbi tailf.

Upotreba:

Rep /var/log/mylogfile.log

Važna razlika između naredbe tailf i tail -f je u tome što tailf ne pristupa datoteci kada ona nije modificirana. Kao posljedica toga, vrijeme pristupa datoteci nije ažurirano i sustav ne ispire kontinuirano datoteku na disk kada datoteka nije ažurirana.

Opis naredbe tailf ukazuje na to da je korisna za praćenje datoteka dnevnika na prijenosnim računalima. Budući da se disku nepotrebno pristupa i vijek trajanja baterije je sačuvan.

rep -F. Ako je datoteka preimenovana ili izbrisana

Obično se u Linuxu datoteke dnevnika ne zapisuju beskonačno, inače bi takva datoteka bila vrlo nezgodna za korištenje u budućnosti. Umjesto toga koristi se takozvana rotacija datoteka. Kada datoteka dnevnika postane velika, ili se briše ili preimenuje (stvori sigurnosna kopija datoteka), a daljnje poruke počinju se pisati u novu, praznu datoteku.

Naredba tail ima dvije opcije: -f i -F

  • Ako se koristi opcija -f i praćena datoteka je preimenovana, naredba tail nastavlja pratiti već preimenovanu datoteku. Tim rep u ovom slučaju je vezan za identifikator (inode) datoteke.
  • Ako se koristi opcija -F i praćena datoteka je preimenovana, naredba tail će to otkriti i čim se kreira nova datoteka dnevnika (s nazivom koji smo naveli u naredbi rep), tim rep počet će pratiti ovu novu datoteku.

Pogledajmo primjer.

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

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

Ako sustav premjesti (preimenuje) datoteku error.log u error.log.1 i stvori novu datoteku error.log, tada će naša repna naredba nastaviti nadzirati novu datoteku error.log

Ako bismo koristili opciju u ovom primjeru -f, tada bi naredba tail nastavila nadzirati datoteku error.log.1, koja nam više nije relevantna kada pregledavamo zapise u stvarnom vremenu.

Pratite više datoteka dnevnika istovremeno

Naredba tail podržava praćenje više datoteka odjednom. Da biste to učinili, morate navesti nazive datoteka odvojene razmacima.

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

Čim se neka od datoteka promijeni, na ekranu se prikazuje naziv te datoteke i novi unosi u njoj.

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

Ne prikazuje samo podatke, već stvara vlastiti prozor (područje) za svaku datoteku i prikazuje podatke u tom prozoru. Uz njegovu pomoć, vrlo je prikladno pratiti mnoge log datoteke odjednom i vidjeti ih u jednom prozoru terminala.

Multitail uslužni program može se instalirati iz standardnih repozitorija 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

Za izlaz iz uslužnog programa pritisnite tipku q

Nemoguće je zamisliti korisnika i administratora poslužitelja, ili čak radna stanica na Temeljen na Linuxu, koji nikad ne čita datoteke dnevnika. Operativni sustav i pokrenute aplikacije neprestano stvaraju Različite vrste poruke koje se bilježe u različitim datotekama dnevnika. Sposobnost određivanja potrebna datoteka zapisnik i što u njemu tražiti pomoći će značajno uštedjeti vrijeme i brzo riješiti pogrešku.

Zapisivanje je glavni izvor informacija o radu sustava i greškama. U ovom kratkom vodiču, pogledat ćemo osnovne aspekte zapisivanja operativnih sustava, strukturu direktorija i programe za čitanje i pregled zapisnika.

Osnovne datoteke dnevnika

Sve datoteke dnevnika mogu se klasificirati u jednu od sljedećih kategorija:

  • aplikacije;
  • događanja;
  • usluge;
  • sistemski.

Većina datoteka dnevnika nalazi se u direktoriju /var/log.

  • /var/log/syslog ili /var/log/messages sadrži globalni sistemski dnevnik u koji se upisuju poruke od trenutka pokretanja sustava, od Linux kernela, raznih servisa, detektiranih uređaja, mrežna sučelja i mnogo više.
  • /var/log/auth.log ili /var/log/sigurno- informacije o autorizaciji korisnika, uključujući uspješne i neuspješne pokušaje prijave, kao i uključene mehanizme autentifikacije.
  • /var/log/dmesg- upravljački programi uređaja. Pomoću istoimene naredbe možete vidjeti izlaz sadržaja datoteke. Veličina zapisa je ograničena, kada datoteka dosegne svoje ograničenje, starije poruke bit će prebrisane novijima. Postavljanjem prekidača --level=, možete filtrirati izlaz prema kriteriju značaja.
Podržane razine zapisivanja (prioriteti): emerg - upozorenje o neiskorištenosti sustava - radnja se mora izvršiti odmah crit - uvjeti kritičnosti err - uvjeti pogreške warn - uvjeti upozorenja obavijest - informacije o uobičajenim, ali značajnim uvjetima - informativno otklanjanje pogrešaka - poruke otklanjanja pogrešaka (5:520)$ dmesg -l err usb 1-1.1: 2:1: ne mogu dobiti frekvenciju na ep 0x1 usb 1-1.1: 1:1: ne mogu dobiti frekvenciju na ep 0x81 usb 1-1.1: 1:1: ne mogu dobiti frekvenciju na ep 0x81
  • /var/log/alternatives.log- Izlaz alternativa ažuriranja, koji sadrži simboličke veze na zadane naredbe ili biblioteke.
  • /var/log/anaconda.log- Unosi snimljeni tijekom instalacije sustava.
  • /var/log/audit- Zapisi koje generira revizorska služba auditd.
  • /var/log/boot.log- Informacije koje se zapisuju kada se operativni sustav pokrene.
  • /var/log/cron- Izvješće servisa Crond izvršne naredbe i poruke samih timova.
  • /var/log/čaše- Sve vezano za tisak i printere.
  • /var/log/faillog- Neuspjeli pokušaji prijave. Vrlo korisno pri provjeri sigurnosnih prijetnji, hakerskih napada i pokušaja brutalnog hakiranja. Možete pročitati sadržaj pomoću naredbe faillog.
  • var/log/kern.log- Dnevnik sadrži poruke kernela i upozorenja koja mogu biti korisna u rješavanju grešaka u prilagođenim modulima ugrađenim u kernel.
  • /var/log/maillog/ ili /var/log/mail.log- Časopis poslužitelj pošte, koristi se na OS-u.
  • /var/log/pm-powersave.log- Servisne poruke za uštedu baterije.
  • /var/log/samba/- Dnevnici poslužitelja datoteka Samba, koji se koriste za pristup zajedničkim datotekama Windows mape i omogućavanje pristupa Windows korisnici u dijeljene mape Linuxa.
  • /var/log/spooler- Za staru školu, sadrži USENET poruke. Najčešće je prazna i napuštena.
  • /var/log/Xorg.0.log- Dnevnici X poslužitelja. Najčešće su beskorisni, ali ako sadrže retke koji počinju s EE, onda biste trebali obratiti pozornost na njih.

Za svaku će distribuciju postojati zaseban dnevnik upravitelja paketa.

  • /var/log/yum.log- Za programe instalirane koristeći Yum na RedHat Linux.
  • /var/log/emerge.log- Za ebuildove instalirane iz Portagea koristeći emerge na Gentoo Linuxu.
  • /var/log/dpkg.log- Za programe instalirane pomoću dpkg na Debian Linuxu i cijeloj obitelji povezanih distribucija.

I neki binarni zapisi korisničkih sesija.

  • /var/log/lastlog- Zadnja korisnička sesija. Možete ga pročitati posljednjom naredbom.
  • /var/log/tallylog- Revizija neuspjelih pokušaja prijave. Izlaz na zaslon pomoću uslužnog programa pam_tally2.
  • /var/log/btmp- Još jedan zapisnik neuspješnih pokušaja prijave. Samo tako, samo u slučaju da niste skužili gdje tražiti tragove hakerske aktivnosti.
  • /var/log/utmp- Popis trenutno prijavljenih korisnika.
  • /var/log/wtmp- Još jedan dnevnik za bilježenje prijava korisnika. Prikazuje se na zaslonu pomoću naredbe utmpdump.
(5:535)$ sudo utmpdump /var/log/wtmp [uto 11. kolovoza 16:50:07 2015] [~~ ] [uto 11. kolovoza 16:50:08 2015] [~~ ] [uto 11. kolovoza 16: 50:57 2015] [uto 11. kolovoza 16:50:57 2015.] [~~ ] [uto 11. kolovoza 16:50:57 2015.]

I drugi časopisi

Budući da operativni sustav, čak i onaj tako divan kao što je Linux, sam po sebi ne pruža nikakve opipljive prednosti, najvjerojatnije će baza podataka, web poslužitelj i razne aplikacije biti pokrenute na poslužitelju ili radnoj stanici. Svaka aplikacija ili usluga može imati vlastitu datoteku ili direktorij dnevnika događaja i pogrešaka. Naravno, nemoguće ih je nabrojati sve, samo neke.

  • /var/log/mysql/- Dnevnik MySQL baze podataka.
  • /var/log/httpd/ ili /var/log/apache2/- Web dnevnik Apache poslužitelj, zapisnik pristupa je u access_log, a pogreške su u error_log.
  • /var/log/lighthttpd/- Dnevnik web poslužitelja Lighttpd.

Korisnikov matični direktorij može sadržavati zapise grafičke aplikacije, DE.

  • ~/.xsession-greške- Stderr izlaz iz X11 grafičkih aplikacija.
Inicijalizacija "kcm_input" : "kcminit_mouse" Inicijalizacija "kcm_access" : "kcminit_access" Inicijalizacija "kcm_kgamma" : "kcminit_kgamma" QXcbConnection: XCB pogreška: 3 (BadWindow), niz: 181, ID resursa: 10486050, glavni kod: 20 (GetProper ty) , sporedni kod: 0 kf5.kcoreaddons.kaboutdata: Nije moguće inicijalizirati ekvivalentna svojstva Q*Aplikacije: (još) ne postoji instanca. QXcbConnection: XCB pogreška: 3 (BadWindow), niz: 181, ID resursa: 10486050, glavni kod: 20 (GetProperty), sporedni kod: 0 Qt: Pogreška upravljanja sesijom: argument networkIdsList je NULL
  • ~/.xfce4-session.verbose-log- XFCE4 poruke na radnoj površini.

Što pogledati - lnav

Gotovo svi znaju za manje korisni program i naredbu tail -f. Uređivač vim i upravitelj datoteka Midnight Commander također su prikladni za ove svrhe. Svi oni imaju svoje nedostatke: less se ne nosi dobro s trupcima dugi redovi, uzimajući ih za binarne datoteke. Midnight Commander je dobar samo za brzo pregledavanje kada nema potrebe pretraživati ​​složene obrasce i puno ići naprijed-natrag između rezultata. Vim editor razumije i ističe sintaksu mnogih formata, ali ako se dnevnik često ažurira, pojavljuju se uznemirujuće poruke o promjenama u datoteci. Međutim, to se lako može zaobići korištenjem<:view /path/to/file> .


Nedavno sam otkrio još jedan koristan i obećavajući, ali još uvijek pomalo vlažan uslužni program - lnav, kako je prepisao Log File Navigator.




Instalirajte paket kao i obično jednom naredbom.


$ aptitude instalirajte lnav #Debian/Ubuntu/LinuxMint $ yum instalirajte lnav #RedHat/CentOS $ dnf instalirajte lnav #Fedora $ emerge -av lnav #Gentoo, mora se dodati u datoteku package.accept_keywords $ yaourt -S lnav #Arch

Log Navigator lnav razumije niz formata datoteka.

  • Access_log web poslužitelj.
  • CUPS page_log
  • Syslog
  • dpkg.log
  • strace
  • Prilagođeni unosi s vremenskim oznakama
  • gzip, bzip
  • Dnevnik VMWare ESXi/vCenter

Što u ovom slučaju znači razumijevanje formata datoteka? Trik je u tome lnav više od uslužnog programa za pregled tekstualnih datoteka. Program može učiniti nešto drugo. Možete otvoriti više datoteka odjednom i prebacivati ​​se između njih.


(5:471)$ sudo lnav /var/log/pm-powersave.log /var/log/pm-suspend.log

Program može izravno otvoriti arhivsku datoteku.


(5:471)$ lnav -r /var/log/Xorg.0.log.old.gz

Prikazuje histogram informativnih poruka, upozorenja i pogrešaka kada pritisnete tipku . Ovo je iz mog syslog-a.


Mon May 02 20:25:00 123 normalno 3 pogreške 0 upozorenja 0 oznaka Pon May 02 22:40:00 2 normalno 0 grešaka 0 upozorenja 0 oznaka Mon May 02 23:25:00 10 normalno 0 grešaka 0 upozorenja 0 oznaka Uto Svibanj 03 07:25:00 96 normalno 3 pogreške 0 upozorenja 0 oznaka uto 3. svibnja 23:50:00 10 normalno 0 pogrešaka 0 upozorenja 0 oznaka srijeda 4. svibnja 07:40:00 96 normalno 3 pogreške 0 upozorenja 0 oznaka srijeda 4. svibnja 08. :30:00 2 normalno 0 pogrešaka 0 upozorenja 0 oznaka srijeda 4. svibnja 10:40:00 10 normalno 0 pogrešaka 0 upozorenja 0 oznaka srijeda 4. svibnja 11:50:00 126 normalno 2 pogreške 1 upozorenja 0 oznaka

Osim toga, podržano je označavanje sintakse, dodavanje kartica i razne korisne značajke u statusnoj traci. Nedostaci uključuju nestabilno ponašanje i smrzavanje. Nada lnav aktivno će se razvijati, vrlo koristan program Po mom mišljenju.



reci prijateljima
Pročitajte također