Introduktion til Linux-kernen log niveauer

Introduktion til Linux-kernen log niveauer

Formål

målet med denne tutorial er at lære om de forskellige linux-kernen log niveauer, hvordan de er organiseret, og hvordan vi kan setup, hvilke meddelelser der skal vises på konsollen, afhængigt af deres sværhedsgrad.

Krav

  • Root-privilegier til at redigere konfigurationsfiler

Vanskelighed

NEMT

Indledning

forvaltningen af Linux-kernen log-filer er et af de afgørende aspekter af en maskine administration: logfiler, kan du blot informere os om den tilstand af dæmonen, eller vis kritiske meddelelser eller advarsler., I denne tutorial vil vi se den forskellige type logniveau, der bruges af Linu. – kernen, hvordan de er organiseret efter sværhedsgrad, og hvordan vi kan filtrere meddelelser, der vises på konsollen afhængigt af den.

Linux-kernen log niveauer

Der er dybest set otte log niveauer, som en meddelelse, der sendes ved linux-kernen, kan vedtage, startende fralevel 0og faldende i sværhedsgrad ’tilllevel 7: den laveste log niveau identifikator, den mest kritiske situation.,
når et logniveau er indstillet som standard for konsollen, enten vedvarende eller midlertidigt, fungerer det som et filter, så kun meddelelser med et logniveau, der er lavere end det, (derfor meddelelser med en højere sværhedsgrad) vises. Lad os kort se, hvordan logniveauer er organiseret: det første logniveau er0, identificeret vedKERN_EMERGstreng. Dette er det højeste niveau i rækkefølge efter sværhedsgrad: det er vedtaget af meddelelser om systemstabilitet eller forestående nedbrud.,
Loglevel1, ellerKERN_ALERTdet er, hvad der kommer umiddelbart efter. Dette niveau bruges i situationer, hvor brugerens opmærksomhed straks er påkrævet.
det næste logniveau i rækkefølge efter sværhedsgrad erKERN_CRIT, eller loglevel2. Dette niveau af sværhedsgrad bruges til at informere om kritiske fejl, både hard .are eller Soft .are relateret.
Loglevel3, også identificeret afKERN_ERRstreng, det er det næste i skalaen., Meddelelser, der vedtager dette niveau, bruges ofte til at underrette brugeren om ikke-kritiske fejl, som for eksempel en mislykket eller problematisk enhedsgenkendelse eller mere generelt driverrelaterede problemer.

ABONNERE NYHEDSBREV & RSS
Abonnerer på RSS og NYHEDSBREV og modtage seneste Linux nyheder, job, karriere rådgivning og tutorials.,

KERN_WARNING, eller loglevel4det er log-niveau, der normalt bruges som standard i de fleste linux-distributioner. Dette niveau er det bruges til at vise advarsler eller meddelelser om ikke overhængende fejl.
Loglevel5det er

KERN_NOTICE. Meddelelser, der bruger dette niveau af sværhedsgrad handler om begivenheder, som kan være værd at bemærke.,
Loglevel6det erKERN_INFO: dette er logniveauet, der bruges til informationsmeddelelser om den handling, der udføres af kernen.
endelig har viKERN_DEBUG, eller loglevel7, som hovedsageligt bruges til fejlfinding.

Sådan kontrolleres det aktuelle standardlogniveau

kontrol af standardloglevel, der bruges på vores system, det er meget nemt. Alt, hvad vi skal gøre, er at undersøge indholdet af/proc/sys/kernel/printkfil., For dem af jer, der ikke kender,/procdet er envirtual filesystem: de filer, der er indeholdt i det er faktisk ikke på den disk,men er en visuel repræsentation af systemets tilstand, skabt af kernen andmaintained i hukommelsen. I dette tilfælde kan vi for eksempel bruge den nævnte filovenfor at forespørge oplysninger om standardkonsollogniveauet i oursystem. Alle vi nødt til at gøre er at køre:

$ cat /proc/sys/kernel/printk

Dette er den typiske output af kommandoen:

4 4 1 7

Den første værdi i vores produktion er den nuværendeconsole_loglevel., Dette er de oplysninger, vi ledte efter: værdien,4i dette tilfælde repræsenterer det logniveau, der aktuelt bruges. Som sagt før betyder det, at kun meddelelser, der vedtager et alvorlighedsniveau, der er højere end det, vises på konsollen.
den anden værdi i output repræsentererdefault_message_loglevel. Denne værdi bruges automatisk til meddelelser uden et specifikt logniveau: hvis en meddelelse ikke er knyttet til et logniveau, vil denne blive brugt til den.
Den tredje værdi i output rapportererminimum_console_loglevelstatus., Det angiver den mindste loglevel, der kan bruges tilconsole_loglevel. Niveauet her brugte det er1, den højeste.
endelig repræsenterer den sidste værdidefault_console_loglevel, som er standardloglevel, der bruges tilconsole_loglevelved opstart.,
For fuldstændighedens skyld, skal vi sige, at den samme information kan hentes ved hjælp afsysctlkommando, der kører:

$ sysctl kernel.printk

Ændre standard-konsol log niveau

Vi har lige set, hvordan man kan hente oplysninger om nuværende loglevel i brug for konsollen. I nogle situationer ønsker vi måske at ændre denne værdi: lad os se, hvordan vi kan udføre denne opgave.
den mest enkle metode, vi kan bruge, er at skrive den nye værdi til/proc/sys/kernel/printkfil., Dette er dog en midlertidig løsning, og den nye indstilling vil ikke fortsætte en genstart af maskinen., Sige, at vi ønsker at ændre standard konsol loglevel til3, her er, hvad vi ville køre:

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

> Eller, hvis du brugerrootkonto direkte:

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

Ved at kigge på indholdet af den fil, vi kan kontrollere loglevel er nu, vi har angivet i vores kommando:

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

Vi kan opnå samme resultat ved brug afsysctlkommando:

sudo sysctl -w kernel.printk=3

Lad mig gentage det igen: disse er midlertidige, ikke-vedvarende løsninger., For at ændre standard loglevel i en vedholdende måde, vi skal ændre/etc/default/grubfil, der passererloglevelparameter til kerne-kommandolinjen ved boot: Ovenfor er indholdet af /etc/default/grub-fil, og fremhævet, at det er den parameter, der skal tilføjes tilGRUB_CMDLINE_LINUX, som indeholder kerne-kommandolinjen instruktioner. I dette tilfælde brugte viloglevel=3, da vi ønskede at bruge den specifikke loglevel til konsollen., Efter at have ændret filen og gemt ændringerne, skal vi genindlæse grub, så den nye konfiguration anvendes ved den næste genstart: kommandoen til at udføre denne handling afhænger af den distribution, vi kører. Generisk er kommandoen:

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

på Debian-baseret distribution bruges et wrarapper-script til grundlæggende at udføre den samme handling:

$ sudo update-grub

grub-konfigurationen opdateres, og ved den næste genstart vil det specificerede logniveau blive vedtaget som standard.,

konklusioner

i denne tutorial har vi lært, hvordan Linu. – kernelogfilerne er organiseret afhængigt af deres sværhedsgrad. Vi så også, hvordan vi kan ændre standardopsætningen, så kun visse meddelelser, der sendes af kernen, vises på konsollen ved hjælp af de samme kriterier. Endelig så vi, hvordan man gør disse ændringer vedvarende.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *