Cél
A cél ebben a tutorial, hogy megtanulják a különböző linux kernel log szinten, hogy a szervezett, illetve hogyan tudja állítani, hogy mely üzenetek jelenjenek meg a konzolon súlyosságától függően.
követelmények
- Root jogosultságok a konfigurációs fájlok szerkesztéséhez
nehézség
egyszerű
Bevezetés
A Linux kernel naplófájlok kezelése a gép adminisztrációjának egyik kulcsfontosságú szempontja: a naplók egyszerűen tájékoztathatnak minket a démon állapotáról, vagy kritikus üzeneteket vagy figyelmeztetéseket jeleníthetnek meg., Ebben a bemutatóban látni fogjuk a linux kernel által használt különféle típusú naplószinteket, hogyan szervezik őket súlyosság szerint, valamint hogyan szűrhetjük a konzolon megjelenő üzeneteket attól függően.
A Linux kernel naplózási szintjei
alapvetően nyolc naplózási szint van, amelyeket a linux kernel által küldött üzenet fogadhat el, a level 0
és a súlyosság csökkenéséig ’till level 7
: a legalacsonyabb naplószint-azonosító, a legkritikusabb kontextus.,
Ha a konzol alapértelmezés szerint naplószintet állít be, akár tartósan, akár ideiglenesen, szűrőként működik, így csak a nála alacsonyabb naplószintű üzenetek jelennek meg (tehát nagyobb súlyosságú üzenetek). Lássuk röviden, hogyan szervezik a naplószinteket: az első naplószint 0
, amelyet a KERN_EMERG
karakterlánc azonosított. Ez a legmagasabb szint a súlyosság sorrendjében: a rendszer instabilitásáról vagy a közelgő összeomlásokról szóló üzenetek fogadják el.,
Loglevel 1
, vagy KERN_ALERT
ez az, ami után azonnal jön. Ezt a szintet olyan helyzetekben használják, ahol a felhasználó figyelme azonnal szükséges.
a következő naplószint súlyossági sorrendben KERN_CRIT
, vagy loglevel 2
. Ezt a súlyossági szintet használják a kritikus hibák, mind a hardver, mind a szoftverrel kapcsolatos információk tájékoztatására.
Loglevel 3
, amelyet a KERN_ERR
karakterlánc is azonosított, ez a következő a skálán., Az ilyen szintet elfogadó üzeneteket gyakran arra használják, hogy értesítsék a felhasználót a nem kritikus hibákról, például egy sikertelen vagy problémás eszközfelismerésről, vagy általánosabban a járművezetővel kapcsolatos problémákról.
Feliratkozás RSS-re és hírlevélre, valamint legfrissebb Linux hírek, munkahelyek, karrier tanácsadás és oktatóanyagok.,
KERN_WARNING
vagy loglevel4
ez a naplószint, amelyet általában a linux disztribúciók többségében alapértelmezettként használnak. Ez a szint arra szolgál, hogy figyelmeztetéseket vagy üzeneteket jelenítsen meg a nem küszöbön álló hibákról.
Loglevel 5
KERN_NOTICE
. Az ilyen súlyossági szintet használó üzenetek olyan eseményekről szólnak, amelyeket érdemes megjegyezni.,
Loglevel 6
it ‘ s KERN_INFO
: ez a naplószint a kernel által végrehajtott műveletekről szóló információs üzenetekhez.
végül van KERN_DEBUG
, vagy loglevel 7
, amelyet elsősorban hibakereséshez használnak.
hogyan lehet ellenőrizni az aktuális alapértelmezett naplószintet
A rendszerünkben használt alapértelmezett naplószint ellenőrzése nagyon egyszerű. Csak annyit kell tennünk, hogy megvizsgáljuk a /proc/sys/kernel/printk
fájl tartalmát., Azok számára, akik nem tudják, /proc
ez egy virtual filesystem
: a benne található fájlok valójában nem a lemezen vannak,hanem a rendszermag által létrehozott rendszerállapot vizuális ábrázolásaa memóriában található. Ebben az esetben például a “mentionedabove” fájlt használhatjuk az oursystem alapértelmezett konzolnapló szintjére vonatkozó információk lekérdezésére. Csak annyit kell tennünk, hogy futunk:
$ cat /proc/sys/kernel/printk
ez a parancs tipikus kimenete:
4 4 1 7
a kimenetünk első értéke az aktuális console_loglevel
., Ez az információ, amit kerestünk: az érték, 4
ebben az esetben a jelenleg használt naplószintet képviseli. Mint korábban említettük, ez azt jelenti, hogy csak a súlyossági szintet meghaladó üzenetek jelennek meg a konzolon.
a kimenet második értéke a default_message_loglevel
. Ezt az értéket automatikusan használják az adott naplószint nélküli üzenetekhez: ha egy üzenet nem kapcsolódik naplószinthez, akkor ezt fogják használni.
a kimenet harmadik értéke a minimum_console_loglevel
állapotot jelenti., Ez jelzi a console_loglevel
minimális loglevelt. Az itt használt szint 1
, a legmagasabb.
végül az utolsó érték a default_console_loglevel
értéket jelenti, amely a console_loglevel
indításkor használt alapértelmezett loglevel.,
a teljesség kedvéért meg kell mondanunk, hogy ugyanaz az információ lehet letölteni is használja a sysctl
parancs fut:
$ sysctl kernel.printk
Módosítása az alapértelmezett konzol log level
most láttuk, hogy az adatokat a jelenlegi loglevel használja a konzol. Bizonyos helyzetekben érdemes megváltoztatni ezt az értéket: lássuk, hogyan tudjuk ezt a feladatot elvégezni.
a legegyszerűbb módszer, amit használhatunk, az, hogy az új értéket a /proc/sys/kernel/printk
fájlba írjuk., Ez azonban egy átmeneti megoldás, az új beállítás nem marad fenn a gép újraindítása., Szeretnénk változtatni az alapértelmezett konzol loglevel, hogy a 3
, itt van, mit fogunk futni:
$ echo "3" | sudo tee /proc/sys/kernel/printk
Vagy ha használja a root
fiók közvetlenül:
# echo "3" > /proc/sys/kernel/printk
nézi a fájl tartalmát, hogy igazolni tudjuk a loglevel most a meghatározott a parancs:
$ cat /proc/sys/kernel/printk3 4 1 7
megkapjuk ugyanazt az eredményt használja a sysctl
parancs:
sudo sysctl -w kernel.printk=3
Hadd ismételjem meg még egyszer: ezek átmeneti, nem tartós megoldások., Az alapértelmezett naplószint állandó módosításához módosítanunk kell a /etc/default/grub
fájlt, átadva a loglevel
paramétert a rendszermag parancssorának a rendszerindításkor: fent van a /etc/default/grub fájl tartalma, és kiemelve ez a paraméter, amelyet hozzá kell adni a GRUB_CMDLINE_LINUX
paraméterhez, amely tartalmazza a kernel parancssori utasítások. Ebben az esetben a loglevel=3
– ot használtuk, mivel ezt a loglevelt a konzolhoz akartuk használni., A fájl módosítása és a módosítások mentése után újra kell töltenünk a grub-ot, hogy az új konfiguráció a következő újraindításkor kerüljön alkalmazásra: a művelet végrehajtásához szükséges parancs a futó disztribúciótól függ. Általánosságban a parancs:
$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Debian-alapú disztribúció, egy wrapper script használják, hogy alapvetően ugyanazt a műveletet:
$ sudo update-grub
A grub konfigurációs frissítésre kerül, majd a következő újraindítás, a megadott log szinten fogadják el, mint az alapértelmezett.,
következtetések
ebben az oktatóanyagban megtanultuk, hogy a linux kernel naplók hogyan szerveződnek súlyosságuk szintjétől függően. Azt is láttuk, hogyan változtathatjuk meg az alapértelmezett beállítást, hogy csak a kernel által küldött üzenetek jelenjenek meg a konzolon, ugyanazokat a kritériumokat használva. Végül láttuk, hogyan lehet ezeket a változásokat tartóssá tenni.