Mål
målet med denne veiledningen er å lære om de forskjellige linux-kjernen logg nivåer, hvordan de er organisert, og hvordan vi kan velge hvilke meldinger som skal vises på konsollen, avhengig av alvorlighetsgrad.
Krav
- Root-rettigheter til å redigere konfigurasjonsfiler
Vanskelighetsgrad
LETT
Innledning
administrasjon av Linux-kjernen logg-filer er en viktig del av en maskin administrasjonen: loggene kan bare informere oss om tilstanden til daemon, eller vise kritiske meldinger eller advarsler., I denne opplæringen vil vi se på ulike type logg nivå brukes av linux-kjernen, hvordan de er organisert etter alvorlighetsgrad, og hvordan vi kan filtrere meldingene som vises på konsollen avhengig av det.
Linux-kjernen logg nivåer
Det er i utgangspunktet åtte logg nivåer som en melding sendt av linux-kjernen kan vedta, fralevel 0
og synkende alvorlighetsgrad ’tilllevel 7
: den laveste logg nivå identifikator, den mest kritisk sammenheng.,
Når en logg nivå er angitt som standard for konsollen, enten vedvarende eller midlertidig, det fungerer som et filter, slik at bare meldinger med en logg nivå som er lavere enn det, (derfor meldinger med en høyere alvorlighetsgrad) vises. La oss se, kort, hvordan logg nivåer er organisert: Den første logge nivå er0
, identifisert avKERN_EMERG
string. Dette er det høyeste nivået i alvorlighetsgrad: det er vedtatt av meldinger om ustabilitet i systemet eller overhengende krasjer.,
Loglevel1
, ellerKERN_ALERT
det er det som kommer umiddelbart etter. Dette nivået er brukt i situasjoner der brukernes oppmerksomhet er umiddelbart nødvendig.
neste logg nivå i alvorlighetsgrad erKERN_CRIT
, eller loglevel2
. Dette alvorlighetsgrad er brukt til å informere om kritiske feil, både maskinvare eller programvare relatert.
Loglevel3
, også identifiseres medKERN_ERR
string, det er den neste i skalaen., Meldinger vedta dette nivået er ofte brukt for å varsle brukeren om ikke-kritiske feil, som for eksempel en mislykket eller problematisk enheten anerkjennelse, eller mer generelt-driver-relaterte problemer.
Abonner på RSS og NYHETSBREV og motta nyeste Linux-nyheter, jobber, karriere råd og veiledninger.,
KERN_WARNING
, eller loglevel4
det er loggen nivå vanligvis brukes som standard i de fleste linux-distribusjoner. Dette nivået er det som brukes for å vise varsler eller meldinger om ikke nært forestående feil.
Loglevel5
det erKERN_NOTICE
. Meldinger som bruker dette nivået av alvorlighetsgrad, er om hendelser som kan være verdt å merke seg.,
Loglevel6
det erKERN_INFO
: dette er loggen nivå som skal brukes for informasjonsformål meldinger om handling utført av kjernen.
til Slutt, vi harKERN_DEBUG
, eller loglevel7
, som hovedsakelig brukes til debugging.
Hvordan du kan kontrollere gjeldende standard logg nivå
Kontrollere standard loglevel brukes på systemet vårt, er det svært enkelt. Alt vi trenger å gjøre er å undersøke innholdet av/proc/sys/kernel/printk
– filen., For de av dere som ikke vet det,/proc
det er envirtual filesystem
: filene i den er faktisk ikke på disk,men det er en visuell representasjon av system state opprettet av kernel andmaintained i minnet. I dette tilfellet, for eksempel, kan vi bruke filen mentionedabove å be om informasjon om standard konsoll logg nivå sett i oursystem. Alt vi trenger å gjøre er å kjøre:
$ cat /proc/sys/kernel/printk
Dette er det typiske resultatet av kommandoen:
4 4 1 7
Den første verdien i vår utgang er gjeldendeconsole_loglevel
., Dette er informasjon vi var ute etter: verdi4
i dette tilfellet, representerer logg nivå som i dag brukes. Som sagt før, dette betyr at det kun meldinger vedta en alvorlighetsgrad høyere nivå enn det, vil vises på konsollen.
Den andre verdien i utgang representererdefault_message_loglevel
. Denne verdien brukes automatisk for meldinger uten en bestemt logg nivå: hvis en melding er ikke forbundet med en logg nivå, dette vil bli brukt til det.
Den tredje verdien i utgang rapporterminimum_console_loglevel
status., Det viser minimum loglevel som kan brukes forconsole_loglevel
. Nivået her brukes det1
, den høyeste.
til Slutt, den siste verdien som representererdefault_console_loglevel
), som er standard loglevel brukt tilconsole_loglevel
ved oppstart.,
For fullstendighetens skyld, må vi si at den samme informasjonen kan hentes ut også ved hjelp avsysctl
– kommandoen, kjører:
$ sysctl kernel.printk
Endre standard konsoll logg nivå
Vi har nettopp sett hvordan å innhente informasjon om gjeldende loglevel i bruk for konsollen. I noen situasjoner kan det hende at vi vil endre denne verdien: la oss se hvordan vi kan utføre denne oppgaven.
Den enkleste metoden som vi kan bruke, er å skrive inn den nye verdien til/proc/sys/kernel/printk
– filen., Dette er imidlertid en midlertidig løsning, og den nye innstillingen vil ikke vedvare en maskin på nytt., Si at vi ønsker å endre standard konsoll loglevel til3
, her er hva vi ville kjøre med:
$ echo "3" | sudo tee /proc/sys/kernel/printk
Eller, hvis du brukerroot
konto direkte:
# echo "3" > /proc/sys/kernel/printk
Ved å se på innholdet av filen, kan vi bekrefte loglevel nå er det vi som er angitt i vår kommando:
$ cat /proc/sys/kernel/printk3 4 1 7
Vi kan oppnå samme resultat ved å brukesysctl
kommando:
sudo sysctl -w kernel.printk=3
La meg gjenta det igjen: dette er midlertidige, ikke-permanente løsninger., Hvis du vil endre standard loglevel i en vedvarende måte, vi må endre/etc/default/grub
fil, passererloglevel
– parameteren til kjernen kommandolinjen ved oppstart: Ovenfor er innholdet i /etc/default/grub-fil, og fremhevet det er den parameteren som skal legges til.GRUB_CMDLINE_LINUX
, som inneholder kjernen command line instruksjoner. I dette tilfellet har vi bruktloglevel=3
, siden vi ønsket å bruke den bestemte loglevel til konsollet., Etter å endre filen og lagre endringene, må vi laste grub, slik at den nye konfigurasjonen vil bli brukt ved neste omstart: kommando for å utføre denne operasjonen avhenger av fordelingen vi kjører. Generelt kommandoen er:
$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Debian-basert distribusjon, i et skript er i utgangspunktet brukes til å utføre den samme operasjonen:
$ sudo update-grub
grub konfigurasjonen vil bli oppdatert, og på neste omstart, den angitte logg nivå vil bli vedtatt som standard.,
Konklusjon
I denne opplæringen vi har lært hvordan linux-kjernen-logger er organisert avhengig av alvorlighetsgrad. Vi så også hvordan vi kan endre standard oppsett slik at bare visse meldinger som er sendt ved kjernen vises på konsollen, kan du bruke de samme kriteriene. Til slutt så vi på hvordan å gjøre disse endringene vedvarende.