Biblioteka Paprastos instrukcijos, kaip dirbti su Profitserver paslauga
pagrindinis Biblioteka Kaip skaityti „Linux“ žurnalus ir kur juos rasti

Kaip skaityti „Linux“ žurnalus ir kur juos rasti


Kai susiduriate su serverio našumo problemomis, pirmiausia turite patikrinti „Linux“ žurnalus . Sistemos žurnale galite rasti naudingų diagnostikos pranešimų iš skirtingų operacinės sistemos komponentų, tokių kaip branduolys ar įvairios paslaugos, todėl greičiausiai gedimo priežastį rasite ten.

Kiekvienas žurnalo pranešimas generuojamas dėl tam tikrų operacinės sistemos įvykių: nuo vartotojo, autorizacijos iki paslaugos išjungimo ar programos gedimo. Šie įvykiai turi skirtingus prioritetus, priklausomai nuo jų kritiškumo. „Linux“ sistemoje yra šie įvykių tipai:

  1. emerg - nesėkmė, aukščiausias prioritetas;
  2. alert - skubus įspėjimas;
  3. crit - kritinis įvykis;
  4. err - įprasta klaida;
  5. warn - įprastas įspėjimas;
  6. notice - pranešimas;
  7. info - informacinis pranešimas;
  8. debug - derinimo informacija;

Šiuo metu pagrindinės žurnalų rinkimo paslaugos „Linux“ sistemoje yra „rsyslog“ ir „systemd-journald“ . Jos yra įtrauktos į daugumą šiuolaikinių platinimo paketų ir veikia savarankiškai.

rsyslog

Šios paslaugos žurnalai yra aplanke „ /var/log/ “ įprastų tekstinių failų pavidalu. Žurnalų pranešimai talpinami skirtinguose failuose, priklausomai nuo įvykio tipo. Pavyzdžiui, „ /var/log/auth.log “ yra informacija apie vartotojų autorizaciją sistemoje, o „ /var/log/kern.log “ – branduolio pranešimai. Failų pavadinimai gali skirtis skirtinguose platinimo paketuose, todėl pažvelkime į konfigūracijos failą, kad susidarytume vaizdą, kur yra „ /etc/rsyslog.d/50-default.conf “.

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

Šios taisyklės rodo, kuriame faile yra kiekvieno tipo žurnalo pranešimai. Kairėje dalyje rodomas pranešimo tipas tokia forma: „ [Šaltinis].[Prioritetas] “, o dešinėje – žurnalo failo pavadinimas. Rašant pranešimo tipą, galima pridėti simbolį „ * “. Tai reiškia tuščią reikšmę arba „ none “, kuris pašalina pranešimą iš sąrašo. Panagrinėkime pirmas dvi taisykles atidžiau.

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

Pirmoji taisyklė reiškia, kad visi iš autorizacijos mechanizmo gauti pranešimai bus įrašomi į failą „ /var/log/auth.log “. Visi autorizacijos bandymai (tiek sėkmingi, tiek nesėkmingi) bus registruojami šiame faile. Antroji taisyklė nurodo, kad visi pranešimai, išskyrus susijusius su autorizacija, bus įrašomi į failą „ /var/log/syslog “. Šie du failai paprastai yra populiariausi. Šios taisyklės apibrėžia kelią, kuriame saugomi branduolio žurnalai „ kern.* “ ir pašto tarnybos žurnalai „ mail.* “.

Žurnalų failus galima atidaryti naudojant bet kurį teksto redaktorių, pvz., „ less “ , „cat“ , „tail “. Atidarykime failą „ /var/log/auth.log “ .

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

Kiekviena failo eilutė yra atskiras pranešimas, gautas iš programos ar paslaugos. Visi pranešimai, nepaisant jų šaltinio, yra vieno formato ir susideda iš 5 dalių. Kaip pavyzdį paimkime pažymėtą pranešimą ekrano kopijoje.

  1. Pranešimo laiko žyma – „Vasario 12 d. 06:18:33“
  2. Kompiuterio, iš kurio buvo išsiųstas pranešimas, pavadinimas – „vds“
  3. Programos ar paslaugos, kuri išsiuntė pranešimą, pavadinimas - „sshd“
  4. Proceso ID – [653]
  5. Pranešimo tekstas – „Priimtas slaptažodis mihail iš 188.19.42.165 prievado 2849 ssh2“

Tai buvo sėkmingo prisijungimo prie SSH pavyzdys.

Štai kaip atrodo nesėkmingas prisijungimo bandymas:

Читаем логи Linux

Šis failas taip pat įrašo komandas su išplėstiniais leidimais

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

Atidarykime failą /var/log/syslog

Ekrano kopijoje paryškintas pranešimas yra pranešimas apie tinklo sąsajos išjungimą.

Утилита logorotate

Informacijos paieškai ilguose tekstiniuose failuose naudokite grep įrankį. Visus iš pptpd paslaugos gautus pranešimus galite rasti faile „ /var/log/syslog “.

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

Diagnostikos metu galite naudoti „tail“ programą, kuri gali rodyti kelias paskutines failų eilutes. Komanda „ tail -f /var/log/syslog “ leis jums stebėti žurnalų įrašymą realiuoju laiku.

„rsyslog“ paslauga yra labai lanksti ir galinga. Ji gali būti naudojama žurnalų rinkimui tiek vietinėse sistemose, tiek įmonės lygmeniu. Visą dokumentaciją galite rasti oficialioje svetainėje https://www.rsyslog.com/

Žurnalų rotacija Linux sistemoje

Žurnalų įrašymas vyksta nuolat, todėl failų dydis nuolat auga. Rotacijos mechanizmas užtikrina automatinį senų žurnalų archyvavimą ir naujų failų kūrimą. Priklausomai nuo taisyklių, tai gali vykti kasdien, kas savaitę, kas mėnesį arba pagal dydžio apribojimą. Sukūrus naujus žurnalus, senus galima tiesiog ištrinti arba išsiųsti el. paštu. Žurnalų rotaciją atlieka „ logrotate “ programa. Pagrindinę konfigūraciją galite rasti faile „ /etc/logrotate.conf “. Failų turinys taip pat apdorojamas aplanke „ /etc/logrotate.d/ “ .

Naujas taisykles galima registruoti pagrindiniame konfigūracijos faile. Tačiau geriausia sukurti atskirą failą aplanke „ /etc/logrotate.d/ “. Pagal numatytuosius nustatymus šiame kataloge yra keli failai.

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

Pažvelkime į failą „ /etc/logrotate.d/rsyslog “, kuriame yra „rsyslog “ paslaugos žurnalų rotacijos taisyklės.

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

Pirma, taisyklėje turi būti kelias į žurnalo failą, o tada visos gairės turi būti pateiktos lenktuose skliaustuose.

  • pasukti 7 - saugotinų failų skaičius - 7
  • kasdien - kiekvieną dieną sukurkite naują failą
  • suspausti - suspausti ir archyvuoti senus failus
Учимся читать логи Линукс

Ekrano kopijoje galite matyti, kad aplanke „ /var/log/ “ yra pagrindinis žurnalas „ syslog “ ir 7 archyvai, kurie atitinka konfigūracijos failo taisykles.

Išsamesnį „logrotate“ aprašymą galite rasti vadove, vykdydami komandą „ man logrotate “.

Linux žurnalų rinkimas – žurnalas

Žurnalų rinkimo paslauga „systemd-journald“ yra inicijavimo sistemos „systemd“ dalis . „Linux“ žurnalų failai saugomi specialiu formatu aplanke „ /var/log/journal/ “ ir gali būti atidaryti naudojant „journalctl“ įrankį. Įrašų formatas yra visiškai toks pat kaip ir „rsyslog“.

Komanda „journalctl“ be atributų rodo visus įrašus, bet netinka didesniems žurnalams. Pažvelkime į kai kurias šios priemonės parinktis.

  • journalctl -b - rodyti visus įrašus nuo paskutinio starto
  • journalctl -S "2020-02-17 12:00" -U "2020-02-17 12:10" - rodyti įrašą per tam tikrą laikotarpį
  • journalctl -u pptpd - rodyti tam tikros paslaugos įrašus
  • journalctl -k - rodyti branduolio pranešimus
  • journalctl -p err - rodyti tam tikro prioriteto pranešimus, šiuo atveju aukštesnio prioriteto pranešimus (kritinis, įspėjimas, atsiradimas)
  • journalctl -f - rodyti pranešimus realiuoju laiku

Dėl didesnio lankstumo galite derinti šias parinktis. Parodykime visas pptpd paslaugos klaidas.

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

Jei kaip atributą nurodysite vykdomojo failo kelią, programa rodys visus šio failo išsiųstus pranešimus. Parodykime visus failo „ /usr/bin/sudo “ išsiųstus pranešimus nuo 2020 m. vasario 18 d. 04:15. Tiesą sakant, bus rodomos visos komandos, vykdomos turint aukštesnius leidimus.

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

Norėdami sužinoti, kiek vietos diske užima žurnalo failai, norint vykdyti šią komandą

journalctl --disk-usage

Norėdami apriboti žurnalo failą iki 1 Gb, vykdykite šią komandą

journalctl --vacuum-size=1G

Dvejetainių failų atidarymas

Dabar pažvelkime į keletą specialių failų aplanke „ /var/log/ “, kuriame saugomi visi prisijungimo bandymai. Šie failai yra dvejetainiai ir juos galima atidaryti tik specialiomis programomis.

/var/log/wtmp yra informacija apie sėkmingus prisijungimo bandymus. Norėdami ją atidaryti, naudokite paskutinę programą.

утилита lastlog

/var/log/btmp – saugo visus nepavykusius prisijungimo bandymus. Jį galima atidaryti naudojant „lastb“ su išplėstinėmis teisėmis. Atributas -n nurodo eilučių, rodomų nuo failo pabaigos, skaičių.

/var/log/lastlog – jame yra paskutinio prisijungimo prie kiekvieno paskyros įrašo laikas. Jį galima atidaryti naudojant „lastlog“

❮ Ankstesnis straipsnis Linux teksto redaktoriai
Kitas straipsnis ❯ Kaip sukonfigūruoti tinklo sąsajas „CentOS“.

Klauskite mūsų apie VPS

Mes visada pasiruošę atsakyti į jūsų klausimus bet kuriuo dienos ar nakties metu.