Úvod do Linux kernel log úrovně

Úvod do Linux kernel log úrovně

Cíl

cílem tohoto kurzu je naučit o různých linux kernel log úrovně, jak jsou organizovány, a jak můžeme nastavit, jaké zprávy by měly být zobrazeny na konzolu v závislosti na jejich závažnosti.

Požadavky

  • Root oprávnění editovat konfigurační soubory

Obtížnost

Úvod

správa Linux kernel log soubory, je jeden důležitý aspekt stroje podání: záznamy lze jednoduše informuje nás o stavu daemon, nebo ukázat kritické zprávy nebo varování., V tomto tutoriálu uvidíme různé typy úrovně protokolu používané jádrem Linuxu, jak jsou organizovány podle závažnosti a jak můžeme filtrovat zprávy zobrazené na konzole v závislosti na tom.

Linux kernel log úrovně

jsou v podstatě osm úrovní záznamu, který zprávu poslal linux kernel může přijmout, počínaje odlevel 0a klesající závažnosti ažlevel 7: nejnižší úroveň protokolu identifikátor, nejdůležitější souvislosti.,
když je úroveň protokolu nastavena jako výchozí pro konzolu, buď trvale nebo dočasně, funguje jako filtr, takže se zobrazí pouze zprávy s úrovní protokolu nižší než je, (tedy zprávy s vyšší závažností). Podívejme se stručně, jak jsou organizovány úrovně protokolu: první úroveň protokolu je0, identifikovaná řetězcemKERN_EMERG. Toto je nejvyšší úroveň v pořadí závažnosti: je přijata zprávami o nestabilitě systému nebo bezprostředních haváriích.,
Loglevel1neboKERN_ALERTto je to, co přichází ihned poté. Tato úroveň se používá v situacích, kdy je okamžitě vyžadována pozornost uživatele.
další úroveň protokolu v pořadí závažnosti jeKERN_CRIT, nebo loglevel2. Tato úroveň závažnosti se používá k informování o kritických chybách, souvisejících s hardwarem nebo softwarem.
Loglevel3, také identifikovaný řetězcemKERN_ERR, je to další v měřítku., Zprávy přijetí této úrovni jsou často používány, aby informovat uživatele o non-kritické chyby, jako například nezdařené nebo problematické uznání zařízení, nebo obecněji řidič-související problémy.

ODBĚRU NOVINEK & RSS
Přihlásit se k odběru RSS a NEWSLETTER a dostávat nejnovější Linuxové zprávy, práce, kariérní poradenství a konzultace.,

KERN_WARNING, nebo loglevel4je úroveň protokolu obvykle používán jako výchozí ve většině distribucí linuxu. Tato úroveň se používá k zobrazení varování nebo zpráv o bezprostředních chybách.
Loglevel5je toKERN_NOTICE. Zprávy, které používají tuto úroveň závažnosti jsou o událostech, které mohou být stojí za zmínku.,
Loglevel6KERN_INFO: toto je úroveň protokolu použity pouze pro informační zprávy o akci prováděné jádra.
a Konečně máme

KERN_DEBUG, nebo loglevel7, který se používá hlavně pro ladění.

jak zkontrolovat aktuální výchozí úroveň protokolu

kontrola výchozí loglevel použitý v našem systému je to velmi snadné. Jediné, co musíme udělat, je prozkoumat obsah souboru/proc/sys/kernel/printk., Pro ty z vás, kteří nevědí,/procvirtual filesystem: soubory obsažené v ní nejsou ve skutečnosti na disku,ale jsou vizuální reprezentace stavu systému vytvořené jádro andmaintained v paměti. V tomto případě můžeme například použít uvedený souborvýše k dotazování informací o výchozí úrovni protokolu konzoly nastavené v oursystem. Vše, co musíme udělat, je spustit:

$ cat /proc/sys/kernel/printk

Toto je typický výstup tohoto příkazu:

4 4 1 7

první hodnota v našem výstup je proudconsole_loglevel., Tyto informace jsme hledali: hodnota,4v tomto případě, představuje úroveň log v současné době používá. Jak již bylo řečeno, znamená to, že na konzoli se zobrazí pouze zprávy, které přijímají úroveň závažnosti vyšší než ona.
druhá hodnota ve výstupu představujedefault_message_loglevel. Tato hodnota se automaticky používá pro zprávy bez konkrétní úrovně protokolu: pokud zpráva není spojena s úrovní protokolu, bude pro ni použita tato.
třetí hodnota ve výstupu hlásí stavminimum_console_loglevel., Označuje minimální loglevel, který lze použít proconsole_loglevel. Úroveň zde používá je1, nejvyšší.
poslední hodnota představujedefault_console_loglevel, což je výchozí loglevel používaný proconsole_loglevelpři spuštění.,
Pro úplnost je třeba říci, že stejné informace mohou být vyvolány také pomocísysctlpříkaz, běh:

$ sysctl kernel.printk

Změna výchozí console log úrovně

právě Jsme viděli, jak získat informace o aktuální loglevel v použití pro konzole. V některých situacích můžeme chtít tuto hodnotu změnit: uvidíme, jak můžeme tento úkol splnit.
nejjednodušší metodou, kterou můžeme použít, je zapsat novou hodnotu do souboru/proc/sys/kernel/printk., Jedná se však o dočasné řešení a nové nastavení nebude přetrvávat restart počítače., Řekněme, že chceme změnit výchozí konzole loglevel3, tady je to, co bychom spustit:

$ echo "3" | sudo tee /proc/sys/kernel/printk

Nebo pomocírootúčet přímo:

# echo "3" > /proc/sys/kernel/printk

když se podíváme na obsah souboru, můžeme ověřit loglevel je teď jsme uvedené v našem příkaz:

$ cat /proc/sys/kernel/printk3 4 1 7

můžeme získat stejný výsledek pomocísysctlpříkaz:

sudo sysctl -w kernel.printk=3

Nechte mě to zopakovat ještě jednou: jedná se o dočasné, non-trvalé řešení., Chcete-li změnit výchozí úroveň logování v trvalé, musíme změnit na/etc/default/grubsoubor, procházejícíloglevelparametr do příkazové řádky jádra v boot: Výše je obsah /etc/default/grub souboru, a zdůraznil, že je to parametr, který by měl být přidán doGRUB_CMDLINE_LINUX, který obsahuje jádra příkazového řádku pokyny. V tomto případě jsme použililoglevel=3, protože jsme chtěli použít tento konkrétní loglevel pro konzolu., Po úpravě souboru a uložení změn, musíme znovu grub tak, že nová konfigurace bude použita při příštím restartování počítače: příkaz k provedení této operace závisí na distribuci jsme běží. Obecně příkazu je:

$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Na Debian-založené distribuce, wrapper skript se používá v podstatě provádět stejné operace:

$ sudo update-grub

grub konfiguraci bude aktualizován, a na příštím restartu zadané úroveň protokolu bude přijata jako výchozí.,

závěry

v tomto tutoriálu jsme se dozvěděli, jak jsou protokoly jádra Linuxu organizovány v závislosti na jejich úrovni závažnosti. Také jsme viděli, jak můžeme změnit výchozí nastavení tak, aby se na konzoli zobrazovaly pouze určité zprávy odeslané jádrem pomocí stejných kritérií. Nakonec jsme viděli, jak tyto změny učinit trvalými.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *