Znalostnej bázy Jednoduchý návod na prácu so službou Profitserver
Hlavná Znalostnej bázy Ako čítať denníky Linuxu a kde ich nájsť

Ako čítať denníky Linuxu a kde ich nájsť


Keď narazíte na problémy s výkonom vášho servera, prvá vec, ktorú chcete urobiť, je urobiť skontrolujte denníky systému Linux. V systémovom denníku môžete nájsť užitočné diagnostické správy z rôznych komponentov operačného systému, ako je jadro alebo rôzne služby, takže príčinu zlyhania s najväčšou pravdepodobnosťou nájdete tam.

Každá správa v protokole je generovaná ako výsledok určitých udalostí v operačnom systéme: od používateľa, autorizácie až po vypnutie služby alebo zlyhanie aplikácie. Tieto udalosti majú rôzne priority v závislosti od toho, nakoľko sú kritické. V Linuxe existujú nasledujúce typy udalostí:

  1. emerg - zlyhanie, najvyššia priorita;
  2. alert - naliehavé varovanie;
  3. crit - kritická udalosť;
  4. err - bežná chyba;
  5. warn - bežné varovanie;
  6. notice - oznámenie;
  7. info - informačná správa;
  8. debug - informácie o ladení;

V súčasnosti sú hlavné služby zberu protokolov v systéme Linux rsyslog a systemd-journald. Idú s väčšinou moderných distribučných balíkov a fungujú samostatne.

rsyslog

Protokoly tejto služby sa nachádzajú v „/ var / log /” vo forme bežných textových súborov. Protokolové správy sa ukladajú do rôznych súborov v závislosti od typu udalosti. Napríklad „/var/log/auth.log“ obsahuje informácie o autorizácii používateľov v systéme a „/var/log/kern.log” obsahuje správy jadra. Názvy súborov sa môžu v jednotlivých distribučných balíkoch líšiť, takže sa pozrime na konfiguračný súbor, aby sme získali predstavu, čo je kde “/etc/rsyslog.d/50-default.conf".

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

Tieto pravidlá zobrazujú, ktorý súbor obsahuje jednotlivé typy správ protokolu. V ľavej časti sa zobrazuje typ správy v nasledujúcom tvare „[Zdroj].[Priorita]“ a v pravej časti sa zobrazuje názov log súboru. Pri písaní typu správy “*je možné pridať znak ”. Znamená prázdnu hodnotu alebo “nikto“, čím sa odstráni zo zoznamu. Pozrime sa bližšie na prvé dve pravidlá.

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

Prvé pravidlo znamená, že všetky správy prijaté z autorizačného mechanizmu budú zaznamenané do „/var/log/auth.log” súbor. Všetky pokusy o autorizáciu (úspešné aj neúspešné) sa zaznamenajú do tohto súboru. Druhé pravidlo znamená, že všetky správy okrem tých, ktoré súvisia s autorizáciou, sa budú zaznamenávať do „/ Var / log / syslog”. Tieto dva súbory sú zvyčajne najobľúbenejšie. Nasledujúce pravidlá definujú cestu k ukladaniu protokolov jadra “kern.*“ a denníky poštových služieb “mail.*"

Súbory denníkov je možné otvárať pomocou ľubovoľného textového editora, napr menej, ako, chvost. Otvorme „/var/log/auth.log

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

Každý riadok súboru je samostatná správa prijatá z aplikácie alebo služby. Všetky správy bez ohľadu na ich zdroj majú jeden formát a skladajú sa z 5 častí. Vezmime si ako príklad zvýraznenú správu na snímke obrazovky.

  1. Časová pečiatka správy – „12. február 06:18:33“
  2. Názov počítača, ktorý správu odoslal – „vds“
  3. Názov aplikácie alebo služby, ktorá správu odoslala - „sshd“
  4. ID procesu – [653]
  5. Text správy - “Akceptované heslo pre mihail z 188.19.42.165 port 2849 ssh2”

Toto bol príklad úspešného pripojenia k SSH.

A takto vyzerá neúspešný pokus o prihlásenie:

Читаем логи Linux

Tento súbor tiež zaznamenáva príkazy s pokročilými povoleniami

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

Otvorme / Var / log / syslog rezeň

Zvýraznená správa na snímke obrazovky je správa o vypnutí sieťového rozhrania.

Утилита logorotate

Na vyhľadávanie informácií prostredníctvom dlhých textových súborov použite grep užitočnosť. Môžete nájsť všetky správy prijaté od pptpd služba v „/ Var / log / syslog“.

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

Počas diagnostiky môžete použiť chvost nástroj, ktorý dokáže zobraziť niekoľko posledných riadkov súborov. príkaz "tail -f / var / log / syslog“ vám umožní sledovať záznam záznamov v reálnom čase.

Služby rsyslog je veľmi flexibilný a výkonný. Dá sa použiť na zber guľatiny v lokálnych systémoch, ako aj na podnikovej úrovni. Kompletnú dokumentáciu nájdete na oficiálnej stránke https://www.rsyslog.com/

Rotácia protokolov v systéme Linux

Záznam denníka prebieha nepretržite, takže veľkosť súborov neustále rastie. Rotačný mechanizmus zabezpečuje automatickú archiváciu starých protokolov a vytváranie nových súborov. V závislosti od pravidiel sa to môže stať denne, týždenne, mesačne alebo podľa limitu veľkosti. Keď sa vytvárajú nové protokoly, staré sa dajú jednoducho odstrániť alebo poslať e-mailom. Rotácia protokolov sa vykonáva pomocou logrotate užitočnosť. Hlavnú konfiguráciu nájdete v „/etc/logrotate.conf“. Obsah súborov sa spracováva aj v “/etc/logrotate.d/Priečinok

Nové pravidlá je možné prihlásiť do hlavného konfiguračného súboru. Najlepšie je však vytvoriť samostatný súbor v „/etc/logrotate.d/Štandardne je v tomto adresári niekoľko súborov

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

Pozrime sa na súbor “/etc/logrotate.d/rsyslogktorý obsahuje pravidlá rotácie pre denníky rsyslog služby.

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

Najprv by pravidlo malo obsahovať cestu k súboru denníka a potom by všetky pokyny mali byť uvedené v zakrivených zátvorkách.

  • otočiť 7 - počet súborov, ktoré sa majú uchovávať - ​​7
  • denne - každý deň vytvorte nový súbor
  • komprimovať - komprimovať a archivovať staré súbory
Учимся читать логи Линукс

Na snímke obrazovky môžete vidieť, že v „/ var / log /"priečinok je tam hlavný denník"syslog” a 7 archívov, čo zodpovedá pravidlám v konfiguračnom súbore.

Podrobnejší popis logrotate nájdete v príručke spustením príkazu „človek logrotate“príkaz

Zbieranie protokolov Linuxu - journald

Služba zberu guľatiny systemd-journald je súčasťou inicializačného systému systemd. Súbory denníka systému Linux sú uložené v priečinku „/var/log/journal/” v špeciálnom formáte a možno ho otvoriť pomocou journalctl užitočnosť. Formát záznamov je presne rovnaký ako v rsyslog.

povel journalctl bez atribútov zobrazuje všetky záznamy, ale nie je vhodný pre väčšie protokoly. Poďme sa pozrieť na niektoré možnosti tejto pomôcky.

  • journalctl -b - zobraziť všetky záznamy od posledného spustenia
  • journalctl -S "2020-02-17 12:00" -U "2020-02-17 12:10" - zobraziť záznam v určitom časovom období
  • journalctl -u pptpd - zobraziť záznamy o určitej službe
  • journalctl -k - zobraziť správy jadra
  • journalctl -p err - zobraziť správy s určitou prioritou, v tomto prípade správy s vyššou prioritou (crit, alert, emerg)
  • journalctl -f - zobraziť správy v reálnom čase

Pre lepšiu flexibilitu môžete tieto možnosti kombinovať. Ukážme všetky chyby pptpd služba

journalctl -u pptpd -p err
утилита posledná

Ak zadáte cestu k spustiteľnému súboru ako atribút, pomôcka zobrazí všetky správy odoslané týmto súborom. Ukážme všetky správy odoslané súborom “/usr/bin/sudo” od 04:15 dňa 18. februára 2020. V skutočnosti sa zobrazia všetky príkazy vykonané s vyššími oprávneniami.

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

Ak chcete zistiť, koľko miesta na disku zaberajú protokolové súbory na vykonanie nasledujúceho príkazu

journalctl --disk-usage

Ak chcete obmedziť súbor denníka na 1 Gb, vykonajte nasledujúci príkaz

journalctl --vacuum-size=1G

Otváranie binárnych súborov

Teraz sa pozrime na niektoré špeciálne súbory v „/ var / log /” priečinok, do ktorého sa ukladajú všetky pokusy o prihlásenie. Tieto súbory sú binárne a možno ich otvoriť iba pomocou špeciálnych programov.

/var/log/wtmp obsahuje informácie o úspešných pokusoch o prihlásenie. Na otvorenie použite posledný nástroj.

утилита lastlog

/var/log/btmp - obsahuje všetky neúspešné pokusy o prihlásenie. Dá sa otvoriť pomocou lastb s pokročilými povoleniami. Atribút -n definuje počet riadkov zobrazených od konca súboru.

/var/log/lastlog - obsahuje čas poslednej akcie prihlásenia pre každý záznam účtu. Dá sa otvoriť pomocou lastlog

❮ Predchádzajúci článok Ako nakonfigurovať sieťové rozhrania v CentOS
Ďalší článok ❯ Linuxové textové editory

Opýtajte sa nás na VPS

Sme vždy pripravení odpovedať na vaše otázky kedykoľvek počas dňa alebo v noci.