Systémové denníky sú vaším najlepším priateľom, keď chcete riešiť chyby. Tu je všetko, čo potrebujete vedieť o monitorovaní protokolov na Ubuntu.

Je to veľmi frustrujúce, keď váš počítač nefunguje správne a vy neviete prečo. Aj keď neexistujú jednoduché riešenia každého problému, s ktorým sa môžete v Ubuntu stretnúť, na riešenie problémov a diagnostiku problémov s počítačom môžete použiť zdroje, ako sú protokoly chýb Ubuntu.

Čo sú denníky Ubuntu?

Ubuntu logy sú komplexné súbory ktoré uchovávajú záznamy o všetkých udalostiach, ktoré sa vyskytnú vo vašom počítači. Zahŕňa zaznamenané informácie o vašom hardvéri, operačnom systéme a dokonca aj o niektorých vašich softvéroch.

Tieto protokoly sú neoceniteľné pre proces odstraňovania problémov a diagnostiky. Poskytujú informácie, ako sú časové pečiatky, kontext a podrobné podrobnosti o udalostiach, ktoré sa vyskytujú vo vašom systéme. Ak chcete použiť tieto protokoly, musíte najprv vedieť o najdôležitejších typoch.

Typy protokolov Ubuntu

Namiesto zapisovania každého bitu informácií do jedného denníka, Ubuntu zaznamenáva informácie do samostatných denníkov určených na rôzne účely. Aj keď existuje príliš veľa protokolov na zoznam, existuje niekoľko dôležitých protokolov (a typov protokolov), o ktorých by ste mali vedieť skôr, ako sa ich pokúsite použiť na riešenie problémov.

instagram viewer

Snáď najvýznamnejším zo všetkých protokolov je systemd journal. systemd je integrálny správca služieb v systéme Linux. V dôsledku toho sa problémy s mnohými rôznymi službami operačného systému zaznamenávajú do žurnálu systemd. Pomocou tohto denníka sa môžete pohybovať príkaz journalctl.

Systémové denníky sú tiež veľmi dôležité. Tieto denníky sa priamo týkajú rôznych častí Ubuntu a môžu zahŕňať veci ako systémové správy. Niektoré zo systémových denníkov zahŕňajú:

  • Autorizačný denník: Každý proces, ktorý vyžaduje autorizáciu, ako napríklad príkaz sudo alebo prihlásenie používateľov, bude zaznamenaný v tomto denníku.
  • Denník démonov: Tento protokol sa týka všetkých služieb na pozadí (alebo démonov), ako sú Bluetooth a SSH.
  • Denník ladenia: Tento protokol poskytuje informácie o ladení, ktoré poskytuje systém, ako aj aplikácie, ktoré sa prihlasujú do syslogd.
  • Denník jadra: Tento protokol obsahuje záznamy o činnosti zahŕňajúcej jadro Linuxu.
  • Systémový denník: Tento protokol uchováva záznamy, ktoré zahŕňajú väčšinu typov globálnej aktivity vo vašom systéme.
  • Záznam o zlyhaní: Tento denník ukladá záznamy neúspešných prihlásení, vďaka čomu je obzvlášť užitočný pri kontrole, či sa niekto nepokúsil preniknúť do vášho systému.

Váš počítač môže mať uložené aj aplikačné protokoly (ako sú protokolové súbory Apache alebo protokolové súbory MySQL). /var/log adresár. Môžeš použite príkaz ls ak chcete zobraziť všetky súbory denníka aktuálne uložené vo vašom počítači:

ls /var/log

Ako čítať denníky na Ubuntu

Teraz, keď ste sa oboznámili s rôznymi typmi protokolov vo vašom systéme, ste pripravení ponoriť sa do informácií, ktoré ukladajú. Skôr ako začnete, je dôležité poznamenať, že nie všetky systémové denníky sú písané rovnakým spôsobom.

Niektoré protokoly sú uložené ako súbory s obyčajným textom, zatiaľ čo iné protokoly sú uložené ako binárne súbory. Ak chcete efektívne analyzovať záznamy vo svojom systéme, budete sa musieť zoznámiť s oboma typmi súborov – a nástrojmi príkazového riadka, s ktorými sú spárované.

Protokoly súborov s obyčajným textom používajú šablónu známu ako RSYSLOG_TraditionalFileFormat a obsahujú štyri základné polia: časovú pečiatku, názov hostiteľa, aplikáciu a správu. Napríklad protokol jadra používa túto šablónu:

Na rozdiel od protokolov s obyčajným textom sa protokoly binárnych súborov nedajú tak ľahko prečítať. Budete musieť použiť pomocné programy príkazového riadku, ako napr SZO, posledný, a lastb na čítanie protokolov ako utmp, wtmp a btmp. Príkazy ako utmpdump pre varianty utmp a systemctl pre journald sú tiež navrhnuté tak, aby tlačili informácie binárneho protokolu v čitateľnom formáte.

Vo väčšine situácií bude dôležité vedieť, ako efektívne analyzovať tieto protokoly v termináli. Môžete použiť príkazy ako grep a tail na získanie špecifických informácií bez toho, aby ste museli pracne čítať celé vaše systémové denníky.

Niektoré z najlepších príkazov, ktoré môžete použiť, zahŕňajú:

  • grep: Hľadá reťazec znakov v súbore
  • chvost: Vytlačí 10 riadkov od konca súboru
  • hlava: Vytlačí 10 riadkov od začiatku súboru
  • zoradiť: Vytlačí súbor reorganizovaný podľa vašich špecifikácií

Nástroje príkazového riadka, ako napríklad utmpdump a systemctl, majú tiež užitočné príznaky, ktoré by ste mali mať na pamäti pri práci v termináli. Tieto príznaky vám umožnia upraviť príkaz a zvýšiť kontrolu nad tým, čo sa vytlačí v termináli.

Niektoré obzvlášť užitočné príznaky pre príkaz journalctl sú:

  • -b: Spôsobí, že journalctl vráti iba položky zhromaždené po poslednom reštarte
  • --od „RRRR-MM-DD HH: MM: SS“ --do „RRRR-MM-DD HH: MM: SS“: Inštruuje journalctl, aby vrátil záznamy len pred a/alebo po zadaných dátumoch
  • -p NUM: Filtruje položky podľa ich úrovní priority syslog (v rozsahu od 0/emerg do 7/debug)

Riešenie problémov s protokolmi Ubuntu

Teraz, keď ste oboznámení s rôznymi typmi systémových denníkov a viete, ako ich čítať efektívne, jediné, čo zostáva urobiť, je použiť informácie, ktoré ste zhromaždili, na riešenie problémov proces. Tento proces zvyčajne vyžaduje určitú kreativitu.

Je dobré pristupovať k riešeniu problémov tak, že sa najprv zamyslíte nad hlavnými charakteristikami problému, ktorý riešite. Vyskytuje sa problém, keď otvoríte určitú aplikáciu? Zlyhá váš systém a reštartuje sa vždy, keď sa vyskytne problém?

Keď sa zamyslíte nad charakteristikami problému, prirodzene vás to privedie k niektorým z najlepších protokolov na zbieranie informácií o ňom. Napríklad, ak má váš systém problémy počas procesu zavádzania, niektoré užitočné informácie môžete získať odkazom na položky zavádzania v žurnálu.

Zadajte nasledujúci príkaz, aby ste vytlačili všetky zapísané booty v journald:

journalctl --list-boots

Terminál vytlačí zoznam zaznamenaných bootov; najnovšie topánky nájdete v spodnej časti zoznamu. Pozrite si zaznamenané dátumy a časy pre každé spustenie, kým nenájdete zaznamenané spustenie, kde sa vyskytla chyba.

Vezmite číslo zo stĺpca úplne vľavo ako NUM a zadajte nasledujúci príkaz, aby ste získali ďalšie informácie o zavádzaní:

journalctl -b -NUM -n

Zobrazí sa komplexný záznam informácií o boote. Ak sa počas procesu zavádzania vyskytli nejaké nezvyčajné chyby, môžete použiť informácie z tohto záznamu, aby ste sa dostali o krok ďalej pri ich odstraňovaní.

Rovnaký princíp platí aj pre mnohé iné problémy. Ak však o probléme, ktorý má váš počítač, veľa neviete, môže byť ťažké vedieť, kde začať. Existuje niekoľko protokolov, ktoré sú obzvlášť užitočné pre širokú škálu problémov so systémami Ubuntu.

syslog je najlepší protokol, s ktorým môžete začať počas procesu riešenia problémov. Keďže ide v skutočnosti o globálny denník, je veľmi pravdepodobné, že obsahuje nejaké informácie o probléme, ktorý riešite. Ak máte problémy s autentifikáciou (napr chyba nefunguje sudo heslo, napríklad) alebo bootovanie, potom skontrolujte auth.log alebo boot.log.

Vyhľadávajte v najrelevantnejších protokoloch s kľúčovými slovami súvisiacimi s vaším problémom. Napríklad, ak máte problémy s autentifikáciou, môžete stiahnuť záznamy z auth.log pomocou nasledujúceho príkazu:

cat /var/log/auth.log | grep 'Zlyhanie autentifikácie'

Nakoniec určite nájdete informácie, ktoré ponúkajú vynikajúci prehľad. Keď spárujete informácie z chybových protokolov s prieskumom na webe, je veľmi pravdepodobné, že nájdete zdroje, ktoré vám pomôžu vyriešiť problémy so systémom okamžite.

Pozrite si online zdroje na riešenie problémov v systéme Linux

Procesom riešenia problémov nemusíte prejsť sami. Pri zhromažďovaní informácií o probléme s počítačom by ste mali používať online zdroje, ako napr Požiadajte Ubuntu a podrobných sprievodcov na MakeUseOf, aby ste sa priblížili konečnej diagnostike a oprave PC.