Teadmistebaas Juhendvideod Lihtsad juhised Profitserveri teenusega töötamiseks
põhiline Teadmistebaas Juhendvideod Kuidas lugeda Linuxi logisid ja kust seda leida

Kuidas lugeda Linuxi logisid ja kust seda leida


Kui teil tekib probleeme serveri jõudlusega, on esimene asi, mida teha tahate, kontrollida oma Linuxi logisid . Süsteemilogist leiate kasulikke diagnostikasõnumeid operatsioonisüsteemi erinevate komponentide, näiteks kerneli või erinevate teenuste kohta, seega leiate suure tõenäosusega rikke põhjuse just sealt.

Iga teade logis genereeritakse teatud operatsioonisüsteemi sündmuste tulemusena: alates kasutajast, autoriseerimisest kuni teenuse sulgemiseni või rakenduse rikkeni. Nendel sündmustel on erinevad prioriteedid sõltuvalt sellest, kui kriitilised need on. Linuxis on järgmist tüüpi sündmusi:

  1. emerg - ebaõnnestumine, kõrgeim prioriteet;
  2. alert - kiireloomuline hoiatus;
  3. crit - kriitiline sündmus;
  4. err - tavaline viga;
  5. warn - tavaline hoiatus;
  6. notice - teavitamine;
  7. info - infosõnum;
  8. debug - silumisinfo;

Hetkel on Linuxi peamised logide kogumise teenused rsyslog ja systemd-journald . Need sobivad enamiku tänapäevaste levitamispakettidega ja töötavad iseseisvalt.

rsyslog

Selle teenuse logid asuvad kaustas „ /var/log/ ” tavaliste tekstifailidena. Logiteated paigutatakse erinevatesse failidesse olenevalt sündmuse tüübist. Näiteks „ /var/log/auth.log ” sisaldab teavet kasutajate autoriseerimise kohta süsteemis ja „ /var/log/kern.log ” sisaldab kerneli teateid. Failinimed võivad eri levituspakettides erineda, seega vaatame konfiguratsioonifaili, et saada aimu, kus asub „ /etc/rsyslog.d/50-default.conf ”.

Сбор логов Linux утилитой rsyslog

Need reeglid näitavad, milline fail sisaldab iga tüüpi logiteateid. Vasakpoolne osa kuvab teate tüüpi kujul „ [Allikas].[Prioriteet] ” ja parempoolne osa kuvab logifaili nime. Teatetüübi kirjutamisel saab lisada märgi „ * ”. See tähendab tühja väärtust või „ puudub ”, mis eemaldab selle loendist. Vaatleme lähemalt kahte esimest reeglit.

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

Esimene reegel tähendab, et kõik autoriseerimismehhanismilt saadud sõnumid salvestatakse faili „ /var/log/auth.log ”. Kõik autoriseerimiskatsed (nii edukad kui ka ebaõnnestunud) registreeritakse selles failis. Teine reegel näitab, et kõik sõnumid peale autoriseerimisega seotud sõnumite salvestatakse faili „ /var/log/syslog ”. Need kaks faili on tavaliselt kõige populaarsemad. Järgmised reeglid määratlevad kerneli logide „ kern.* ” ja meiliteenuse logide „ mail.* ” salvestamise tee.

Logifaile saab avada mis tahes tekstiredaktoriga, näiteks „less” , „cat” või „tail” . Avame faili „ /var/log/auth.log ” .

less /var/log/auth.log
Запись в лог-файле Линукс о неудачной попытке авторизации SSH

Faili iga rida on rakenduselt või teenuselt saadud eraldi sõnum. Kõik sõnumid, olenemata nende allikast, on ühes vormingus ja koosnevad 5 osast. Võtame näiteks ekraanipildil esiletõstetud sõnumi.

  1. Sõnumi ajatempel – “12. veebruar 06:18:33”
  2. Sõnumi saatnud arvuti nimi - "vds"
  3. Sõnumi saatnud rakenduse või teenuse nimi - "sshd"
  4. Protsessi ID – [653]
  5. Sõnumi tekst – “Mihaili aktsepteeritud parool alates 188.19.42.165 pordist 2849 ssh2”

See oli näide edukast ühendusest SSH-ga.

Ja nii näeb välja ebaõnnestunud sisselogimiskatse:

Читаем логи Linux

See fail salvestab ka täpsemate õigustega käsud

Как правильно прочитать лог Linux

Avame faili /var/log/syslog

Ekraanipildil esiletõstetud teade on teade võrguliidese sulgemise kohta.

Утилита logorotate

Pikkade tekstifailide hulgast teabe otsimiseks kasutage grep utiliiti. Kõik pptpd teenuselt saadud sõnumid leiate failist „ /var/log/syslog ”.

grep 'pptpd' /var/log/syslog
файл "/etc/logrotate.d/rsyslog"

Diagnostika ajal saate kasutada tail utiliiti, mis kuvab failide viimaseid ridu. Käsklusega „ tail -f /var/log/syslog ” saate logide salvestamist reaalajas vaadata.

Teenus rsyslog on väga paindlik ja võimas. Seda saab kasutada logide kogumiseks nii kohalikes süsteemides kui ka ettevõtte tasandil. Täieliku dokumentatsiooni leiate ametlikult veebisaidilt https://www.rsyslog.com/

Logide pööramine Linuxis

Logide salvestamine toimub pidevalt, seega failide suurus pidevalt kasvab. Rotatsioonimehhanism tagab vanade logide automaatse arhiveerimise ja uute failide loomise. Sõltuvalt reeglitest võib see toimuda iga päev, iga nädal, iga kuu või suurusepiirangu alusel. Uute logide loomisel saab vanu lihtsalt kustutada või e-postiga saata. Logide rotatsiooni teostab logrotate utiliit. Põhikonfiguratsiooni leiate failist „ /etc/logrotate.conf “. Failide sisu töödeldakse ka kaustas „ /etc/logrotate.d/ “.

Uued reeglid saab logida peamisse konfiguratsioonifaili. Siiski on kõige parem luua eraldi fail kausta „ /etc/logrotate.d/ ”. Vaikimisi on selles kaustas paar faili.

Настраиваем ротацию логов в Линукс

Vaatame faili “ /etc/logrotate.d/rsyslog ”, mis sisaldab rsyslog- teenuse logide rotatsioonireegleid.

Пример вывода всех ошибок pptpd в лог-файлах

Esiteks peaks reegel sisaldama logifaili teed ja seejärel kõik juhised kõverates sulgudes.

  • pöörata 7 - säilitatavate failide arv - 7
  • iga päev - looge iga päev uus fail
  • kompress - tihendage ja arhiivige vanu faile
Учимся читать логи Линукс

Ekraanipildil on näha, et kaustas „ /var/log/ ” asub peamine logifail „ syslog ” ja 7 arhiivi, mis vastavad konfiguratsioonifaili reeglitele.

Täpsema kirjelduse logrotate'i kohta leiate käsiraamatust, kus käivitate käsu „ man logrotate ”.

Linuxi logide kogumine – päevik

Logide kogumise teenus systemd-journald on osa initsialiseerimissüsteemist systemd . Linuxi logifailid salvestatakse spetsiaalses vormingus kausta „ /var/log/journal/ ” ja neid saab avada utiliidi journalctl abil . Kirjete vorming on täpselt sama mis rsyslogis.

Käsk journalctl ilma atribuutideta kuvab kõik kirjed, kuid see ei sobi suuremate logide jaoks. Vaatame selle utiliidi mõningaid valikuid.

  • journalctl -b - näita kõiki rekordeid alates viimasest stardist
  • journalctl -S "2020-02-17 12:00" -U "2020-02-17 12:10" - näidata rekordit teatud aja jooksul
  • journalctl -u pptpd - näidata teatud teenuse kirjeid
  • journalctl -k - näidata kerneli sõnumeid
  • journalctl -p err - näidata teatud prioriteediga sõnumeid, sel juhul kõrgema prioriteediga sõnumeid (kriit, hoiatus, esilekerkimine)
  • journalctl -f - näidata sõnumeid reaalajas

Parema paindlikkuse tagamiseks saate neid valikuid kombineerida. Näitame kõiki pptpd teenuse vigu .

journalctl -u pptpd -p err
утилита last

Kui määrate atribuudina käivitatava faili tee, kuvab utiliit kõik selle faili saadetud sõnumid. Kuvame kõik faili " /usr/bin/sudo " saadetud sõnumid alates 18. veebruarist 2020 kella 04:15. Tegelikult kuvab see kõik kõrgemate õigustega täidetud käsud.

journalctl -S "2020-02-18 04:15" /usr/bin/sudo
командой lastb

Et teada saada, kui palju kettaruumi logifailid järgmise käsu täitmiseks võtavad

journalctl --disk-usage

Logifaili piiramiseks 1 GB-ga käivitage järgmine käsk

journalctl --vacuum-size=1G

Binaarfailide avamine

Nüüd vaatame mõningaid erifaile kaustas „ /var/log/ ”, kuhu salvestatakse kõik sisselogimiskatsed. Need failid on binaarfailid ja neid saab avada ainult spetsiaalsete programmidega.

/var/log/wtmp sisaldab teavet edukate sisselogimiskatsete kohta. Selle avamiseks kasutage viimast utiliiti.

утилита lastlog

/var/log/btmp - sisaldab kõiki ebaõnnestunud sisselogimiskatseid. Seda saab avada käsuga lastb täpsemate õigustega. Atribuut -n määrab faili lõpust alates kuvatavate ridade arvu.

/var/log/lastlog – sisaldab iga kontokirje viimase sisselogimise aega. Selle saab avada käsuga lastlog

❮ Eelmine artikkel Linuxi tekstiredaktorid
Järgmine artikkel ❯ Kuidas CentOS-is võrguliideseid konfigureerida

Küsige meilt VPS-i kohta

Oleme alati valmis vastama teie küsimustele igal kellaajal päeval või öösel.