Beleženje Ubuntuja. Dnevniške datoteke Linuxa po vrstnem redu. dnevniške datoteke in njihovo lokacijo v Linuxu

Uvod

Ena od stvari, zaradi katerih je GNU/Linux odličen operacijski sistem je, da se lahko praktično vse in vse, kar se dogaja v sistemu, na nek način zabeleži. Te informacije so neprecenljive za uporabo sistema na informiran način in bi morale biti eden prvih virov, ki jih uporabite za odpravljanje težav s sistemom in aplikacijami. Dnevniki vam lahko povedo skoraj vse, kar morate vedeti, le da imate idejo, kje najprej iskati.

Vaš sistem Ubuntu nudi pomembne informacije z različnimi sistemskimi dnevniškimi datotekami. Te dnevniške datoteke so običajno navadno besedilo ASCII v standardni obliki dnevniške datoteke in večina jih je v tradicionalnem podimeniku sistemskega dnevnika /var/log. Mnoge ustvari demon sistemskega dnevnika, syslogd v imenu sistema in določenih aplikacij, medtem ko nekatere aplikacije ustvarijo lastne dnevnike tako, da pišejo neposredno v datoteke v /var/log.

Ta priročnik govori o tem, kako brati in uporabljati več teh datotek sistemskega dnevnika, kako uporabljati in konfigurirati demon sistemskega beleženja syslogd in kako deluje rotacija dnevnika. Glej Viri razdelek za dodatne informacije.

Ciljna publika

Ta priročnik bo dovolj preprost za uporabo, če imate izkušnje z uporabo konzole in urejanjem besedilnih datotek z urejevalnikom besedil. Glejte konec tega dokumenta za nekaj bistvenih ukazov, ki vam lahko pomagajo pri orientaciji po teh datotekah, če ste relativno novi v ukazni vrstici.

Sistemski dnevniki

Sistemski dnevniki se ukvarjajo predvsem z delovanjem sistema Ubuntu, ne nujno z dodatnimi aplikacijami, ki jih dodajo uporabniki. Primeri vključujejo avtorizacijske mehanizme, sistemske demone, sistemska sporočila in sam vseobsegajoč sistemski dnevnik, syslog.

Dnevnik avtorizacije

Dnevnik avtorizacije spremlja uporabo avtorizacijskih sistemov, mehanizme za avtorizacijo uporabnikov, ki zahtevajo uporabniška gesla, kot je sistem Pluggable Authentication Module (PAM), ukaz sudo, oddaljene prijave v sshd in tako naprej. Do datoteke avtorizacijskega dnevnika lahko dostopate na /var/log/auth.log. Ta dnevnik je uporaben za učenje o prijavah uporabnikov in uporabi ukaza sudo.

Uporabite grep, da zmanjšate glasnost. Na primer, če si želite ogledati samo informacije v avtorizacijskem dnevniku, ki se nanašajo na prijave sshd, uporabite to:

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

Daemon Dnevnik

Demon je program, ki teče v ozadju, na splošno brez človeškega posredovanja, in izvaja nekatere operacije, pomembne za pravilno delovanje vašega sistema. Dnevnik demona na /var/log/daemon.log vsebuje informacije o delujočih sistemskih in aplikacijskih demonih, kot je demon Gnome Display Manager gdm, Bluetooth HCI demon hcid ali demon baze podatkov MySQL mysqld. To vam lahko pomaga pri odpravljanju težav z določenim demonom.

Spet uporabite grep za iskanje določenih informacij, pri čemer vstavite ime demona, ki vas zanima.

Dnevnik odpravljanja napak

Dnevnik odpravljanja napak na /var/log/debug in zagotavlja podrobna sporočila o odpravljanju napak iz sistema Ubuntu in aplikacij, ki se prijavljajo v syslogd na ravni DEBUG.

Dnevnik jedra

Dnevnik jedra na /var/log/kern.log zagotavlja podroben dnevnik sporočil iz jedra Ubuntu Linux. Ta sporočila se lahko izkažejo za uporabna na primer pri odpravljanju težav z novim ali po meri zgrajenim jedrom.

Obročni medpomnilnik jedra

Obročni medpomnilnik jedra sam po sebi v resnici ni datoteka dnevnika, temveč področje v delujočem jedru, kjer lahko prek pripomočka dmesg poiščete sporočila o zagonu jedra. Če želite videti sporočila, uporabite to:

dmesg | manj

Če želite na primer poiskati vrstice, ki omenjajo sistem Plug & Play, uporabite grep tako:

dmesg | grep pnp | manj

Privzeto sistemski inicializacijski skript /etc/init.d/bootmisc.sh pošlje vsa zagonska sporočila tudi v datoteko /var/log/dmesg. To datoteko si lahko ogledate in iščete na običajen način.

Sistemski dnevnik

Sistemski dnevnik običajno privzeto vsebuje največ informacij o vašem sistemu Ubuntu. Nahaja se na /var/log/syslog in lahko vsebuje informacije, ki jih drugi dnevniki ne vsebujejo. Če v drugem dnevniku ne morete najti želenih informacij o dnevniku, si oglejte sistemski dnevnik. Vsebuje tudi vse, kar je bilo v /var/log/messages.

Dnevniki aplikacij

Veliko aplikacij ustvarja tudi dnevnike v /var/log. Če izpišete vsebino svojega podimenika /var/log, boste videli znana imena, na primer /var/log/apache2, ki predstavljajo dnevnike za Apache 2 spletni strežnik ali /var/log/samba, ki vsebuje dnevnike za strežnik Samba. Ta razdelek vodnika predstavlja nekaj posebnih primerov dnevnikov aplikacij in informacij, ki jih vsebujejo.

Dnevniki strežnika HTTP Apache

Privzeta namestitev za Apache2 v Ubuntuju ustvari podimenik dnevnika: /var/log/apache2. V tem podimeniku sta dve dnevniški datoteki z dvema različnima namenoma:

    /var/log/apache2/access.log - zapisi vsake prikazane strani in vsake datoteke, ki jo naloži spletni strežnik.

    /var/log/apache2/error.log - zapisi vseh napak, ki jih je sporočil strežnik HTTP

Privzeto vsakič, ko Apache dostopa do datoteke ali strani, dnevniki dostopa zabeležijo naslov IP, čas in datum, identifikacijski niz brskalnika, kodo rezultata HTTP in besedilo dejanske poizvedbe, ki bo na splošno GET za ogled strani. Oglejte si dokumentacijo Apache za popoln pregled; Iz te datoteke je mogoče razbrati kar nekaj in dejansko obstaja veliko statističnih paketov, ki izvajajo analize teh dnevnikov.

Poleg tega Apache vsakič, ko pride do kakršne koli napake, doda vrstico v dnevnik napak. Če izvajate PHP z onemogočenimi sporočili o napakah in opozorilih, je to lahko vaš edini način za prepoznavanje hroščev.

CUPS Tiskanje sistemskih dnevnikov

Common Unix Printing System (CUPS) uporablja privzeto datoteko dnevnika /var/log/cups/error_log za shranjevanje informacij in sporočil o napakah. Če morate rešiti težavo s tiskanjem v Ubuntuju, je ta dnevnik lahko dober začetek.

Rootkit Hunter Dnevnik

Pripomoček Rootkit Hunter (rkhunter) preveri vaš sistem Ubuntu za stranska vrata, snifferje in rootkite, ki so vsi znaki ogroženosti vašega sistema. Dnevnik, ki ga uporablja rkhunter, se nahaja na /var/log/rkhunter.log.

Dnevniki strežnika Samba SMB

Strežnik Server Message Block Protocol (SMB), Samba, se pogosto uporablja za skupno rabo datotek med vašim računalnikom Ubuntu in drugimi računalniki, ki podpirajo protokol SMB. Samba hrani tri različne vrste dnevnikov v podimeniku /var/log/samba:

    log.nmbd - sporočila, povezana s funkcionalnostjo NETBIOS prek IP Sambe (omrežne stvari)

    log.smbd – sporočila, povezana s funkcionalnostjo Samba SMB/CIFS (stvari za skupno rabo datotek in tiskalnikov)

    dnevnik. - sporočila v zvezi z zahtevami po storitvah z naslova IP, vsebovanega v imenu datoteke dnevnika, na primer log.192.168.1.1.

Dnevnik strežnika X11

Privzeti strežnik X11 Windowing Server, ki se uporablja z Ubuntujem, je strežnik Xorg X11 in ob predpostavki, da ima vaš računalnik definiran samo en zaslon, shranjuje sporočila dnevnika v datoteko /var/log/Xorg.0.log. Ta dnevnik je v pomoč pri diagnosticiranju težav z vašim okoljem X11.

Dnevniki, ki niso berljivi

Nekatere dnevniške datoteke v podimeniku /var/log so oblikovane tako, da jih lahko berejo aplikacije, ne nujno ljudje. Sledi nekaj primerov takih dnevniških datotek, ki se pojavljajo v /var/log.

Dnevnik napak pri prijavi

Dnevnik napak pri prijavi, ki se nahaja na /var/log/faillog, je dejansko zasnovan tako, da ga ukaz faillog razčleni in prikaže. Če želite na primer natisniti nedavne napake pri prijavi, uporabite to:

faillog

Dnevnik zadnjih prijav

Dnevnika zadnjih prijav na naslovu /var/log/lastlog običajno ne bi smeli razčlenjevati in pregledovati ljudje, temveč bi ga morali uporabiti v povezavi z ukazom lastlog. Na primer, če si želite ogledati seznam prijav z ukazom lastlog, prikazano eno stran na zaslon z ukazom manj, uporabite naslednji ukaz:

lastlog | manj

Dnevnik zapisov o prijavi

Datoteka /var/log/wtmp vsebuje prijavne zapise, vendar se za razliko od /var/log/lastlog zgoraj, /var/log/wtmp ne uporablja za prikaz seznama nedavnih prijav, temveč ga uporabljajo drugi pripomočki, kot je who ukaz za prikaz seznama trenutno prijavljenih uporabnikov. Ta ukaz bo prikazal uporabnike, ki so trenutno prijavljeni v vaš računalnik:

WHO

Demon za beleženje sistema (syslogd)

Sistemski demon za beleženje syslogd, znan tudi kot sysklogd, čaka na sporočila za beleženje iz številnih virov in jih usmeri v ustrezno datoteko ali omrežni cilj. Sporočila, zabeležena v syslogd, poleg posebnih podatkov dnevnika običajno vsebujejo običajne elemente, kot so sistemska imena gostiteljev in časovni žigi.

Konfiguracija syslogd

Konfiguracijska datoteka demona syslogd je /etc/syslog.conf. Vsak vnos v tej datoteki je sestavljen iz dveh polj, izbirnika in dejanja. Izbirno polje določa pripomoček, ki naj se beleži, kot je na primer avt objekt, ki se ukvarja z avtorizacijo, in prednostno stopnjo za beleženje takšnih informacij, kot npr info, oz Opozorilo. Polje dejanja je sestavljeno iz cilja za podatke dnevnika, kot je standardna datoteka dnevnika (tj. /var/log/syslog) ali ime gostitelja oddaljenega računalnika, v katerega se pošljejo podatki dnevnika.

Odmev sporočil v syslogd z zapisovalnikom

V orodju za zapisovanje je na voljo priročen pripomoček, ki omogoča poljubno umeščanje sporočil v sistemski dnevnik (tj. /var/log/syslog). Na primer, predpostavimo, da je vaše uporabniško ime buddha in bi radi v sistemski dnevnik vnesli sporočilo o posebej okusni pici, ki jo jeste, lahko uporabite ukaz, kot je naslednji, v pozivu terminala:

logger Ta pica iz Vinnys Gourmet Rocks

in končali bi z vrstico v datoteki /var/log/syslog, kot je ta:

12. januar 23:34:45 localhost buddha: Ta pica iz Vinnys Gourmet Rocks

Določite lahko celo oznako, iz katere prihajajo sporočila, in preusmerite tudi izhodno standardno napako.

# # vzorčna napaka zapisovalnika jive # logmsg="/usr/bin/logger -s -t MyScript " # objavi, kaj je ta skript, tudi v dnevnik $logmsg "Directory Checker FooScript Jive 1.0" # preizkusi obstoj Freda" domači imenik na tem računalniku, če [ -d /home/fred ]; nato $logmsg "I. Fredov domači imenik je bil najden" else $logmsg "E. Fredov domači imenik NI bil najden. »Boo Hoo.« izhod 1 fi

Izvajanje tega skripta kot chkdir.sh na stroju, kjer Fred nima domačega imenika, /home/fred, daje naslednje rezultate:

bumpy@butters:~$./chkdir.sh MyScript: Preverjevalnik imenikov FooScript Jive 1.0 MyScript: Domači imenik E. Freda NI bil najden. Boo Hoo. bumpy@butters:~$tail -n 2 /var/log/syslog 12. jan. 23:23:11 lokalni gostitelj MyScript: Preverjevalnik imenikov FooScript Jive 1.0 12. jan. 23:23:11 lokalni gostitelj MyScript: Domači imenik E. Freda NI bil najden. Boo Hoo.

Torej, kot lahko vidite, smo sporočila prejeli prek standardne napake v terminalskem pozivu in se pojavijo tudi v našem sistemskem dnevniku.

Rotacija dnevnika

Ko si ogledujete sezname imenikov v /var/log ali katerem koli od njegovih podimenikov, lahko naletite na datoteke dnevnika z imeni, kot so daemon.log.0, daemon.log.1.gz itd. Kaj so te dnevniške datoteke? So "rotirane" dnevniške datoteke. To pomeni, da so bili samodejno preimenovani po vnaprej določenem časovnem okviru in začel se je nov izvirni dnevnik. Po še daljšem času se datoteke dnevnika stisnejo s pripomočkom gzip kot v primeru primera daemon.log.1.gz. Namen rotacije dnevnikov je arhiviranje in stiskanje starih dnevnikov, tako da porabijo manj prostora na disku, vendar so še vedno na voljo za pregled po potrebi. Kaj upravlja to funkcijo? Zakaj, ukaz logrotate seveda! Običajno se logrotate pokliče iz sistemskega skripta cron /etc/cron.daily/logrotate in ga nadalje definira konfiguracijska datoteka /etc/logrotate.conf. Posamezne konfiguracijske datoteke je mogoče dodati v /etc/logrotate.d (kjer sta na primer shranjeni konfiguraciji apache2 in mysql).

Ta priročnik ne bo pokrival neštetih načinov, kako se lahko logrotate konfigurira za samodejno rotacijo katere koli datoteke dnevnika v vašem sistemu Ubuntu. Za več podrobnosti preverite Viri razdelek tega vodnika.

OPOMBA: Datoteke sistemskega dnevnika lahko zamenjate tudi s skriptom cron.daily /etc/cron.daily/sysklogd namesto z uporabo logrotate. Pravzaprav lahko program za shranjevanje dnevnika povzroči nepričakovane rezultate pri vrtenju dnevnika, na kar konfiguracija logrotate očitno nima vpliva. V teh primerih bi morali preveriti skript cron.daily sysklogd v /etc/cron.daily/sysklogd in prebrati stran priročnika savelog, da vidite, ali savelog dejansko ne izvaja rotacije na način, ki ni tisti, ki ga določite z logrotirati.

Bistveni ukazi

Če ste novi v konzoli in ukazni vrstici Linuxa, vas bodo ti ukazi pripravili do te mere, da boste lahko delali z dnevniškimi datotekami na osnovni ravni.

Kako začeti

Za prehod v imenik dnevnika, kjer je večina teh datotek, uporabite ukaz cd. To prihrani vnos celotnega imena poti za vsak naslednji ukaz:

cd /var/log

Urejanje datotek

Datoteke si lahko ogledujete in urejate v GEdit ali Kate, preprostih urejevalnikih besedila, ki sta priložena Ubuntuju oziroma Kubuntuju, vendar sta lahko pretirana, ko želite samo pogledati datoteko ali narediti preproste spremembe. Najlažji urejevalnik za uporabo s konzole je nano, ki je manj zmogljiv, a tudi manj zapleten kot vim ali emacs. Ukaz za urejanje določene datoteke dnevnika /var/log/example.log z uporabo nano je:

nano primer.log

Za izhod pritisnite Ctrl+X. Ko izstopite, vas bo vprašal, ali želite shraniti vaše spremembe, vendar razen če ga zaženete z ukazom sudo, v datoteke ne bo mogoče pisati. Na splošno seveda ne boste želeli shraniti svojih sprememb v dnevniške datoteke.

Ogled datotek

Če želite preprosto pogledati datoteko, je urejevalnik pretiran. Uporabite ukaz manj, ki lista po datoteki en zaslon naenkrat:

manj primer.log

Za ogled datoteke ne potrebujete sudo. Pritisnite h za pomoč ali q za izhod. Kazalne tipke in tipke za stran gor/dol bodo delovale po pričakovanjih, tipka za poševnico ("/") pa bo naredila velike in male črke. občutljivo iskanje; tipka n ponovi zadnje iskanje.

Ogled začetka datotek

Če si želite ogledati prvih deset vrstic datoteke, uporabite ukaz head:

glava primer.log

Če želite videti drugo število vrstic od začetka datoteke, dodajte stikalo -n, tako:

glava -n 20 primer.log

Ogled konca datotek

Če si želite ogledati zadnjih deset vrstic datoteke, uporabite podoben ukaz tail:

primer repa.log

Ponovno vam stikalo -n omogoča nadzor nad tem, koliko vrstic prikaže:

rep -n 20 primer.log

Gledanje spreminjajoče se datoteke

Poleg tega stikalo -f (»follow«) postavi rep v zanko in nenehno čaka na nove dodatke k datoteki, ki jo prikazuje. To je uporabno za spremljanje datotek, ki se posodabljajo v realnem času:

rep -f primer.log

Za izhod iz zanke pritisnite Ctrl+C.

Iskanje datotek

Ker so dnevniške datoteke lahko velike in okorne, vam pomaga, da se lahko osredotočite. Ukaz grep vam pomaga odstraniti samo tisto vsebino, ki vas zanima. Če želite na primer poiskati vse vrstice v datoteki, ki vsebuje besedo "system", uporabite to:

grep "sistem" primer.log

Če želite najti vse vrstice, ki vsebujejo "system" na začetku vrstice, uporabite to:

grep "^system" primer.log

Upoštevajte simbol kazalke, regularni izraz, ki se ujema samo z začetkom vrstice. To je manj uporabno za standardne dnevniške datoteke, ki se vedno začnejo z datumom in časom, sicer pa je lahko priročno. Vse datoteke nimajo standardnega formata.

Kadarkoli je rezultat grep še vedno predolg, ga lahko napeljete skozi manj:

grep "sistem" primer.log | manj

Viri

Dodatne informacije o sistemskih in aplikacijskih dnevnikih ter syslogd so na voljo v naslednjih virih:

Lokalni sistemski viri

Stran sistemskega priročnika za pripomoček medpomnilnika jedra dmesg

Stran sistemskega priročnika za ukaz faillog (in tudi konfiguracijsko datoteko faillog prek man 5 faillog)

Stran sistemskega priročnika za pripomoček za iskanje vzorcev grep

Stran sistemskega priročnika za pripomoček za glavo

Stran sistemskega priročnika za demon za dnevnik jedra (klogd)

Sistemski priročnik za zadnji ukaz, ki prikazuje zadnje prijavljene uporabnike

Stran sistemskega priročnika za pripomoček manj strani

Stran sistemskega priročnika za vmesnik ukazne vrstice zapisovalnika za pripomoček syslog

Stran sistemskega priročnika za pripomoček logrotate

Stran sistemskega priročnika za pripomoček za shranjevanje dnevniških datotek savelog

Stran sistemskega priročnika za demon sistemskega dnevnika (syslogd)

Stran sistemskega priročnika za konfiguracijsko datoteko syslogd

Stran sistemskega priročnika za pripomoček tail


Ko si ogledujete dnevniške datoteke (dnevniške datoteke) v Linuxu, morate včasih spremljati nove vnose v dnevnik v realnem času. To pomeni, da določite, katero dnevniško datoteko (ali datoteke) si želite ogledati in v realnem času spremljati nove vnose v tej datoteki.

Spremljanje dnevniških datotek z ukazom tail

Če zaženete ukaz tailFileName brez dodatnih argumentov bo natisnjenih zadnjih 10 vrstic datoteke in ukaz bo dokončal svoje delo.

Da bi ukaz tail neprekinjeno izhajal zadnje note v datoteki, to je, če so se v datoteki pojavili novi vnosi, potem so bili podatki na zaslonu posodobljeni, se uporabi možnost -f:
rep -f Imedatoteke dnevnika

Zaženite ukaz tail -f, da izpišete datoteko dnevnika /var/log/syslog

rep -f /var/log/syslog

Ker se uporablja možnost -f, ukaz tail ne dokonča svojega dela, ampak čaka, da se v dnevniški datoteki prikažejo novi vnosi. Takoj, ko so novi vnosi dodani v dnevniško datoteko, bodo takoj prikazani v terminalu.

Če želite prekiniti izvajanje ukaza, pritisnite bližnjico na tipkovnici Ctrl+C

ukaz tailf

Ukaz tail -f je enakovreden ukazu tailf.

Uporaba:

Rep /var/log/mylogfile.log

Pomembna razlika med ukazoma tailf in tail -f je, da tailf ne dostopa do datoteke, ko ta ni spremenjena. Posledično se čas dostopa do datoteke ne posodablja in sistem ne izpira neprekinjeno datoteke na disk, ko datoteka ni posodobljena.

Opis ukaza tailf kaže, da je uporaben za spremljanje dnevniških datotek na prenosnih računalnikih. Ker se do diska ne dostopa po nepotrebnem in se ohranja življenjska doba baterije.

rep -F. Če je bila datoteka preimenovana ali izbrisana

Običajno se v Linuxu dnevniške datoteke ne pišejo za nedoločen čas, sicer bi bila uporaba take datoteke v prihodnosti zelo neprijetna. Namesto tega se uporablja tako imenovana rotacija datotek. Ko dnevniška datoteka postane velika, se izbriše ali preimenuje (ustvari se varnostna kopija datoteke), nadaljnja sporočila pa se začnejo pisati v novo, prazno datoteko.

Ukaz tail ima dve možnosti: -f in -F

  • Če se uporablja možnost -f in se sledena datoteka preimenuje, ukaz tail nadaljuje s sledenjem že preimenovani datoteki. Ekipa rep v tem primeru je vezan na identifikator (inode) datoteke.
  • Če se uporablja možnost -F in se sledena datoteka preimenuje, bo ukaz tail to zaznal in takoj, ko bo ustvarjena nova dnevniška datoteka (z imenom, ki smo ga podali ukazu rep), ekipa rep bo začel slediti tej novi datoteki.

Poglejmo si primer.

Spremljali bomo dnevniško datoteko /var/log/apache2/error.log. Izvedite ukaz tail z možnostjo -F

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

Če sistem premakne (preimenuje) datoteko error.log v error.log.1 in ustvari novo datoteko error.log, bo naš repni ukaz še naprej spremljal novo datoteko error.log

Če bi uporabili možnost v tem primeru -f, potem bi ukaz tail še naprej spremljal datoteko error.log.1, ki za nas ni več relevantna pri pregledovanju dnevnikov v realnem času.

Spremljajte več dnevniških datotek hkrati

Ukaz tail podpira sledenje več datotekam hkrati. Če želite to narediti, morate podati imena datotek, ločena s presledki.

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

Takoj ko se katera od datotek spremeni, se na zaslonu prikaže ime te datoteke in novi vnosi v njej.

Za hkratno spremljanje več dnevniških datotek je na voljo zelo priročen multitail pripomoček

Ne prikazuje samo podatkov, ampak ustvari svoje okno (območje) za vsako datoteko in prikaže podatke v tem oknu. Z njegovo pomočjo je zelo priročno slediti več dnevniškim datotekam hkrati in jih videti v enem oknu terminala.

Multitail pripomoček lahko namestite iz standardnih skladišč vaše distribucije. Za namestitev zaženite ukaz (izberite ustrezen ukaz za svojo distribucijo):

Sudo apt namestite multitail sudo yum namestite multitail sudo dnf namestite multitail

Uporaba:

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

Za izhod iz pripomočka pritisnite tipko q

Vse dnevniške datoteke se nahajajo v imeniku /var/log. V tem imeniku so posebne datoteke za vsako vrsto dnevnikov. Na primer, sistemski dnevniki, kot so dejavnosti jedra, se beležijo v datoteko syslog.

Nekaj ​​najpogostejših dnevniških datotek v tem imeniku je:

    V imeniku apt je datoteka history.log, ki shrani vse informacije o namestitvi in ​​odstranitvi paketov, tudi prvotno gradnjo sistema kot Live CD. To datoteko lahko odprete in si ogledate to zelo zanimivo datoteko.

    V imeniku dist-upgrade je datoteka apt.log, ki beleži informacije med nadgradnjami distribucije

    V namestitvenem programu imenikov je mogoče najti dnevniške datoteke, ustvarjene med namestitvijo.

    Obstaja datoteka apport.log, ki shranjuje informacije o zrušitvah v vašem sistemu in jih poroča.

    Datoteka auth.log vključuje informacije o dejavnostih preverjanja pristnosti, na primer, ko se overite kot korenski uporabnik prek sudo.

    Datoteka dpkg.log shrani podrobnosti nizke ravni namestitve in odstranitve paketa, povezane z dpkg. Morda veste, da je sistem apt odvisen od dpkg za namestitev in odstranitev paketa.

    boot.log vključuje informacije o vsakem zagonu.

    kern.log shrani informacije o jedru, kot so opozorila, napake itd.

    alternatives.log vključuje zgodovino vseh alternativ, ki so jih nastavili različni paketi, in njihovo odstranitev z ukazom update-alternatives.

    Druga pomembna dnevniška datoteka je Xorg.log, ki vključuje informacije o grafičnem gonilniku, njegovih napakah, opozorilih itd.

Nekatere druge vrste dnevniških datotek so morda tam, odvisno od vaših nameščenih paketov. Na primer, Moj sistem vključuje tudi dnevniške datoteke epoptes.log, ki bodo tam samo, če namestite paket epoptes.

Spremembe po systemd

S pojavom systemd beleženje večinoma obravnava pripomoček journalctl, dnevnike pa shranjuje v binarni obliki v datoteko /var/lib/systemd/catalog/database. Ta datoteka našteva vse dnevnike, vključno z dnevniki jedra, zagona in aplikacij, ter zagotavlja potrebne dnevnike prek pripomočka journalctl.

Tukaj je dober članek o journalctl o tem, kako ga lahko uporabite za pridobivanje zahtevanih podatkov dnevnika.

Sistem med svojim delovanjem spremlja in shranjuje v posebne datoteke nekatere dogodke, za katere meni, da so pomembni ali preprosto potrebni za uporabo za popravljanje in odpravljanje napak, napačnih konfiguracij itd. Datoteke, v katerih so shranjeni ti dogodki, se imenujejo dnevniške datoteke ali registracija datoteke . Datoteke za beleženje pogosto zavzamejo preveč prostora na disku, kar lahko pomeni okvaro sistema, napake v konfiguraciji ali preprosto nepravilno konfiguracijo demonov za beleženje dogodkov, ki nadzorujejo in zbirajo vse. Tako je delo s sistemom za prijavo dogodkov pomemben sestavni del dela vsakega sistemskega administratorja, od katerega je v celoti odvisna kakovost sistemskih storitev in posledično njihova zanesljivost in trajnost.

Kako deluje sistem prijave na dogodek?

Izkušeni sistemski skrbniki vedo, da je potrebno redno in še posebej skrbno pregledovati in analizirati registracijske dnevnike (datoteke). Informacije v dnevnikih pogosto pomagajo hitro rešiti težave ali prepoznati skrite težave v konfiguraciji sistema. Za sledenje dogodkom v sistemu, preverjanje dnevnikov, beleženje, shranjevanje, arhiviranje in brisanje informacij iz teh dnevnikov je treba razviti in odobriti posebne predpise za organizacijo, ki upravlja in/ali vzdržuje sisteme, strežnike in omrežja.

Glavno orodje za beleženje dogodkov v UNIX in Linu še vedno ostaja demon syslogd Sistemi Syslog. Upoštevati pa morate tudi, da že dolgo časa zaradi raznolikosti različnih vej UNIX in Različice LinuxaŠtevilni programski paketi, storitveni skripti in omrežni demoni uporabljajo lastne dnevnike, včasih v eksotičnih formatih.

Na splošno sistem Syslog (in drugi specializirani programi) prestreže spremljani dogodek in ga zabeleži v dnevniško datoteko. Registrirani dogodek sam je vrstica besedila, ki vsebuje podatke o datumu/času, vrsti in resnosti dogodka. Odvisno od situacije lahko ta niz vključuje tudi druge podatke. Vrstica samega registriranega dogodka je razdeljena z ločevanjem znakov: presledkov, zavihkov in ločil za poudarjanje navedenih komponent.

Dnevnike si je enostavno ogledati, ker so pravilni besedilne datoteke. Za učinkovito delo z revijami največ standardna orodja iz osnovne distribucije poljubne distribucije - ukazi in . Če morate prečesati zelo velike in zapletene dnevnike, potem lahko (in celo potrebujete) namesto pripomočka grep uporabite drugo orodje, ki je pri takšnih nalogah veliko bolj produktivno in prilagodljivo - . Za to je zelo primeren tudi jezik za obdelavo besedil Perl.

Tipičen vnos v sistemski dnevnik Syslog običajno izgleda takole:

18. dec. 15:12:42 backup.main.superhosting.ru sbatchd: sbatchd/main: ls_info() ni uspelo: LIM ne deluje; poskusi pozneje; poskuša ... 18. dec 15:14:28 system.main.superhosting.ru pop-proxy: Povezava iz 186.115.198.84 18. dec 15:14:30 control.main.superhosting.ru pingem : office.main.superhosting.ru ni odgovoril 42-krat 18. december 15:15:05 service.main.superhosting.ru vmunix: Več programskih napak: Videno 100 popravljenih programskih napak iz SIMM J0201 18. december 15:15:16 backup.main.superhosting.ru PAM_unix: (sshd) seja zaprto "za uporabnika trent

V tem primeru lahko vidite, da eden od dnevnikov Syslog vsebuje dogodke iz več virov: sbathd, pingem, pop-proxy programi. Vidite lahko tudi, da se dogodki beležijo za več gostiteljev, ki komunicirajo s tem sistemom: varnostno kopiranje, sistem, pisarna in storitev.

dnevniške datoteke in njihovo lokacijo v Linuxu

Kot že omenjeno, v sistemi UNIX in Linux ni jasnih dogovorov o tem, kje in kako naj bodo dnevniki shranjeni. Lahko so razpršeni po celotnem datotečnem sistemu, zato je pomembno, da vsak skrbnik takoj razume, kje in za katere pakete in demone se nahajajo ustrezne dnevniške datoteke. Toda kljub pomanjkanju jasnih formalnih predpisov glede tega, kje so dnevniki shranjeni, še vedno obstaja tradicionalno pravilo, da morajo biti te datoteke v imenikih /var/log, /var/log/syslog in tudi v /var/adm.

Dostop do branja datotek v določenih imenikih ima praviloma le superuporabnik, nič pa ni narobe, če za pogosto ogledovane dnevnike, ki tudi ne vsebujejo pomembnih sistemskih informacij, nastavite bolj »demokratičen« način dostopa. Običajno se ta možnost uporablja tudi zaradi udobja in prihranka časa, ko morate pogosto in redno pregledovati nekatere dnevnike, na primer za spletni strežnik Apache, ki se običajno nahajajo v /var/log/apache2 ali /var/log/httpd .

Ne pozabite tudi, da obstajajo primeri, ko se (zlasti pri napačnih konfiguracijah) skupna količina dnevniških datotek močno poveča in obstaja velika nevarnost zrušitve sistema. Zaradi lažjega spremljanja prostega prostora na pomnilniških napravah in zaradi zanesljivosti je imenik /var pogosto postavljen v ločeno datotečni sistem na ločenem odseku.

Nekaj ​​posebnih dnevniških datotek

Naslednja tabela vsebuje informacije o nekaterih dnevniških datotekah, katerih informacije so zelo uporabne za skrbništvo sistema:

mapa Program Mesto Pogostost Sistemi Namen
acpid acpid F 64k RZ Dogodki v elektroenergetskem sistemu
auth.log sudo in drugi S M U Informacije o avtorizaciji
apache2/* httpd ali apache2 F D ZU Dnevniki spletnega strežnika Apache
primeren* APT F M U Namestitve paketov
boot.log Zagon skriptov F M R Zagon dnevnikov skriptov
boot.msg Jedro IN - Z Slika medpomnilnika sporočil jedra
kron kron S n RAH Dnevniki in informacije o demonu cron
skodelice/* SKODELICE F n ZRU Sporočila v zvezi s sistemom tiskanja
daemon.log Razno S n U Sporočila Demon Tool
razhroščevanje Razno S D U Sporočila za odpravljanje napak
dmesg Jedro IN - RU Slika medpomnilnika sporočil jedra
dpkg.log dpkg F M U Namestitve paketov
faillog Vpiši se n n RZU Informacije o neuspelih poskusih avtorizacije
apache2/* Httpd ali apache2 F D R Dnevniki spletnega strežnika Apache za imenik /etc
kern.log Vpiši se IN - RZ Vsa sporočila orodja jedra
lastlog Vpiši se IN - RZ Čas zadnje prijave za vsakega uporabnika (ta datoteka je binarna)
pošta* E-poštni programi S n Vse Elektronske komunikacije
sporočila Razno S n RZUS
rpmpkgs cron.daily IN D R Seznam nameščenih paketov RPM
samba/* smbd in drugi F n - Informacije o strežniku Samba
varno sshd in drugi S M R Zaupna avtorizacijska sporočila
sulog su F - SAH Informacije o uspešnih in neuspešnih poskusih uporabe ukaza su
syslog* Razno S H SUH Glavna datoteka sistemskega dnevnika
opozoriti wpar S H Z Sistemsko opozorilo/dogodki na ravni napak
wpars/* wpar F - A Informacije o dogodku zagonske particije
wtmp Vpiši se IN M Vse Sporočila o registraciji sistema (binarna datoteka)
xen/* Xen F 1m RZU Informacije iz Xen Virtual Machine Monitor
Xorg.n.log Xorg F n R.S. X Sporočila o napakah Windows Server
yum.log njam F M R Dnevnik upravljanja paketov

Za to tabelo veljajo naslednje oznake: S - Syslog, B - vgrajeno ime, F - konfiguracijska datoteka, D - dnevno, N - tedensko, M - mesečno, NN - velikost v kilobajtih ali megabajtih, Z - SUSE, R - Red Hat in CentOS, S - Solaris, H - HP-UX, A - AIX. Stolpec Pogostost označuje pogostost, s katero se brišejo zastarele informacije, povezane s časom ali velikostjo datoteke. Stolpec Program označuje program, ki je ustvaril datoteko.

Upoštevati je treba tudi, da se večina sporočil za datoteke, predstavljene v tabeli, pošlje sistemu Syslog. Stopnja resnosti in program, ki ustvari datoteko, sta navedena v konfiguracijski datoteki /etc/initlog.conf. - tako deluje sistem Syslog. Datoteka faillog je binarna in jo zato lahko prebere pripomoček failog.

Če najdete napako, označite del besedila in kliknite Ctrl+Enter.