Baza znanja Preprosta navodila za delo s storitvijo Profitserver
Glavne Baza znanja Kako brati dnevnike Linuxa in kje jih najti

Kako brati dnevnike Linuxa in kje jih najti


Ko naletite na kakršne koli težave z delovanjem strežnika, morate najprej preveriti dnevnike Linuxa . V sistemskem dnevniku lahko najdete nekaj koristnih diagnostičnih sporočil iz različnih komponent operacijskega sistema, kot so jedro ali različne storitve, zato boste najverjetneje tam našli vzrok napake.

Vsako sporočilo v dnevniku je generirano kot posledica določenih dogodkov v operacijskem sistemu: od uporabnika, avtorizacije do zaustavitve storitve ali okvare aplikacije. Ti dogodki imajo različne prioritete glede na to, kako kritični so. V Linuxu obstajajo naslednje vrste dogodkov:

  1. emerg - napaka, najvišja prioriteta;
  2. alert - nujno opozorilo;
  3. crit - kritični dogodek;
  4. err - navadna napaka;
  5. warn - navadno opozorilo;
  6. notice - obveščanje;
  7. info - informativno sporočilo;
  8. debug - informacije o odpravljanju napak;

Trenutno sta glavni storitvi za zbiranje dnevnikov v Linuxu rsyslog in systemd-journald . Priloženi sta večini sodobnih distribucijskih paketov in delujeta neodvisno.

rsyslog

Dnevniki te storitve se nahajajo v mapi » /var/log/ « v obliki navadnih besedilnih datotek. Sporočila dnevnika so shranjena v različnih datotekah, odvisno od vrste dogodka. Na primer, » /var/log/auth.log « vsebuje informacije o avtorizaciji uporabnikov v sistemu, » /var/log/kern.log « pa vsebuje sporočila jedra. Imena datotek se lahko razlikujejo med distribucijskimi paketi, zato si poglejmo konfiguracijsko datoteko, da dobimo predstavo o tem, kje je » /etc/rsyslog.d/50-default.conf «.

Zbor logov Linux orodje rsyslog

Ta pravila prikazujejo, katera datoteka vsebuje posamezno vrsto sporočil dnevnika. Levi del prikazuje vrsto sporočila v naslednji obliki » [Vir].[Prioriteta] «, desni del pa ime datoteke dnevnika. Med pisanjem vrste sporočila lahko dodamo znak » * «. To pomeni prazno vrednost ali » brez «, kar sporočilo odstrani s seznama. Oglejmo si podrobneje prvi dve pravili.

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

Prvo pravilo pomeni, da bodo vsa sporočila, prejeta iz mehanizma za avtorizacijo, zabeležena v datoteki » /var/log/auth.log «. Vsi poskusi avtorizacije (tako uspešni kot neuspešni) bodo zabeleženi v tej datoteki. Drugo pravilo določa, da bodo vsa sporočila, razen tistih, povezanih z avtorizacijo, zabeležena v datoteki » /var/log/syslog «. Ti dve datoteki sta običajno najbolj priljubljeni. Naslednja pravila določajo pot za shranjevanje dnevnikov jedra » kern.* « in dnevnikov poštne storitve » mail.* «.

Dnevniške datoteke lahko odprete s pomočjo katerega koli urejevalnika besedil, kot so less , cat , tail . Odprimo datoteko » /var/log/auth.log « .

less /var/log/auth.log
Zapis v datoteko dnevnika Linux o neuspešnem poskusu avtorizacije SSH

Vsaka vrstica datoteke je ločeno sporočilo, prejeto od aplikacije ali storitve. Vsa sporočila, ne glede na njihov izvor, imajo en format in so sestavljena iz 5 delov. Vzemimo za primer označeno sporočilo na posnetku zaslona.

  1. Časovni žig sporočila - »12. februar 06:18:33«
  2. Ime računalnika, ki je poslal sporočilo - “vds”
  3. Ime aplikacije ali storitve, ki je poslala sporočilo - “sshd”
  4. ID procesa - [653]
  5. Besedilo sporočila - “Sprejeto geslo za mihaila iz 188.19.42.165 vrat 2849 ssh2”

To je bil primer uspešne povezave s SSH.

In tako je videti neuspešen poskus prijave:

Preberite logi Linux

Ta datoteka beleži tudi ukaze z naprednimi dovoljenji

Kako pravilno prebrati log Linux

Odprimo datoteko /var/log/ syslog

Označeno sporočilo na posnetku zaslona je sporočilo o zaustavitvi omrežnega vmesnika.

Utilita logorotate

Za iskanje informacij v dolgih besedilnih datotekah uporabite pripomoček grep . Vsa sporočila, prejeta od storitve pptpd , najdete v datoteki » /var/log/syslog «.

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

Med diagnostiko lahko uporabite pripomoček tail , ki lahko prikaže nekaj zadnjih vrstic datotek. Ukaz » tail -f /var/log/syslog « vam bo omogočil ogled zapisov dnevnikov v realnem času.

Storitev rsyslog je zelo prilagodljiva in zmogljiva. Uporablja se lahko za zbiranje dnevnikov v lokalnih sistemih kot tudi na ravni podjetja. Celotno dokumentacijo najdete na uradni spletni strani https://www.rsyslog.com/

Rotacija dnevnikov v Linuxu

Snemanje dnevnikov se dogaja neprekinjeno, zato velikost datotek nenehno narašča. Mehanizem rotacije zagotavlja samodejno arhiviranje starih dnevnikov in ustvarjanje novih datotek. Glede na pravila se lahko to zgodi dnevno, tedensko, mesečno ali po omejitvi velikosti. Ko se ustvarijo novi dnevniki, se lahko stari preprosto izbrišejo ali pošljejo po e-pošti. Rotacijo dnevnikov izvaja pripomoček logrotate . Glavno konfiguracijo najdete v datoteki » /etc/logrotate.conf «. Vsebina datotek se obdeluje tudi v mapi » /etc/logrotate.d/ «.

Nova pravila je mogoče zabeležiti v glavno konfiguracijsko datoteko. Vendar je najbolje, da ustvarite ločeno datoteko v » /etc/logrotate.d/ «. Privzeto je v tem imeniku nekaj datotek.

Nastavljamo rotacijo logov v Linuxu

Oglejmo si datoteko » /etc/logrotate.d/rsyslog «, ki vsebuje pravila rotacije za dnevnike storitve rsyslog.

Primer izpisa vseh napak pptpd v log-datotekah

Najprej mora pravilo vsebovati pot do datoteke dnevnika in nato vse smernice v ukrivljenih oklepajih.

  • zavrtite 7 - število datotek, ki jih je treba hraniti - 7
  • vsak dan - vsak dan ustvarite novo datoteko
  • stiskanje - stiskanje in arhiviranje starih datotek
Učimsa čitati logi Linux

Na posnetku zaslona lahko vidite, da se v mapi » /var/log/ « nahaja glavni dnevnik » syslog « in 7 arhivov, kar ustreza pravilom v konfiguracijski datoteki.

Podrobnejši opis ukaza logrotate najdete v priročniku z izvedbo ukaza » man logrotate « .

Zbiranje dnevnikov Linuxa - dnevnik

Storitev za zbiranje dnevnikov systemd-journald je del inicializacijskega sistema systemd . Datoteke dnevnikov Linuxa so shranjene v » /var/log/journal/ « v posebni obliki in jih je mogoče odpreti s pomočjo pripomočka journalctl . Oblika zapisov je popolnoma enaka kot v rsyslog.

Ukaz journalctl brez atributov prikaže vse zapise, vendar ni primeren za večje dnevnike. Oglejmo si nekaj možnosti tega pripomočka.

  • journalctl -b - prikaz vseh zapisov od zadnjega začetka
  • journalctl -S "2020-02-17 12:00" -U "2020-02-17 12:10" - prikaz zapisa v določenem časovnem obdobju
  • journalctl -u pptpd - prikaz evidence določene storitve
  • journalctl -k - prikaz sporočil jedra
  • journalctl -p err - prikaži sporočila z določeno prioriteto, v tem primeru sporočila z višjo prednostjo (crit, alert, emerg)
  • journalctl -f - prikazovanje sporočil v realnem času

Za večjo prilagodljivost lahko te možnosti kombinirate. Prikažimo vse napake storitve pptpd.

journalctl -u pptpd -p err
utilita last

Če kot atribut določite pot do izvedljive datoteke, bo pripomoček prikazal vsa sporočila, ki jih je poslala ta datoteka. Prikažimo vsa sporočila, ki jih je poslala datoteka » /usr/bin/sudo « od 04:15 18. februarja 2020. Pravzaprav bo prikazal vse ukaze, izvedene z višjimi dovoljenji.

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

Če želite ugotoviti, koliko prostora na disku zasedajo datoteke dnevnika za izvedbo naslednjega ukaza

journalctl --disk-usage

Če želite datoteko dnevnika omejiti na 1 Gb, izvedite naslednji ukaz

journalctl --vacuum-size=1G

Odpiranje binarnih datotek

Zdaj pa si poglejmo nekaj posebnih datotek v mapi » /var/log/ «, kjer so shranjeni vsi poskusi prijave. Te datoteke so binarne in jih je mogoče odpreti le s posebnimi programi.

/var/log/wtmp vsebuje informacije o uspešnih poskusih prijave. Za odpiranje uporabite pripomoček last.

utilita lastlog

/var/log/btmp - vsebuje vse neuspešne poskuse prijave. Odpre se lahko z ukazom lastb z naprednimi dovoljenji. Atribut -n določa število vrstic, prikazanih od konca datoteke.

/var/log/lastlog - vsebuje čas zadnje prijave za vsak zapis računa. Odpre se lahko z ukazom lastlog

❮ Prejšnji članek Linux urejevalniki besedil
Naslednji članek ❯ Kako konfigurirati omrežne vmesnike v CentOS

Vprašajte nas o VPS

Vedno smo pripravljeni odgovoriti na vaša vprašanja kadarkoli podnevi ali ponoči.