Wprowadzenie do poziomów dziennika jądra Linuksa

Wprowadzenie do poziomów dziennika jądra Linuksa

cel

celem tego samouczka jest poznanie różnych poziomów dziennika jądra Linuksa, jak są one zorganizowane i jak możemy ustawić, jakie komunikaty mają być wyświetlane na konsoli w zależności od ich wagi.

wymagania

  • uprawnienia roota do edycji plików konfiguracyjnych

trudność

łatwe

wprowadzenie

Zarządzanie plikami logów jądra Linuksa jest jednym z kluczowych aspektów administracji maszyny: dzienniki mogą po prostu informować nas o stanie demona lub wyświetlać krytyczne wiadomości lub ostrzeżenia., W tym samouczku zobaczymy różne typy poziomów logów używanych przez jądro Linuksa, jak są one zorganizowane według ważności i jak możemy filtrować wiadomości wyświetlane na konsoli w zależności od tego.

poziomy logów jądra Linuksa

istnieje zasadniczo osiem poziomów logów, które może przyjąć wiadomość wysłana przez jądro Linuksa, zaczynając odlevel 0I zmniejszając wagę 'dolevel 7: najniższy identyfikator poziomu logów, najbardziej krytyczny kontekst.,
gdy poziom dziennika jest ustawiony jako domyślny dla konsoli, uporczywie lub tymczasowo, działa on jako filtr, tak że wyświetlane są tylko wiadomości o niższym poziomie dziennika (a więc wiadomości o wyższym stopniu ważności). Zobaczmy krótko, jak są zorganizowane poziomy dziennika: pierwszy poziom dziennika to0, identyfikowany przez łańcuchKERN_EMERG. Jest to najwyższy poziom w kolejności ważności: jest przyjmowany przez wiadomości o niestabilności systemu lub nieuchronnych awariach.,
Loglevel 1, lub KERN_ALERT jest to, co przychodzi natychmiast po. Poziom ten jest używany w sytuacjach, w których natychmiast wymagana jest uwaga użytkownika.
kolejnym poziomem dziennika w kolejności ważności jest KERN_CRIT, lub loglevel 2. Ten poziom istotności jest używany do informowania o krytycznych błędach, zarówno związanych ze sprzętem, jak i oprogramowaniem.
Loglevel 3, również identyfikowany przez ciąg KERN_ERR, jest kolejnym w skali., Wiadomości przyjmujące ten poziom są często używane do powiadamiania Użytkownika o niekrytycznych błędach, takich jak na przykład nieudane lub problematyczne rozpoznawanie urządzeń lub ogólniej problemy związane ze sterownikiem.

zapisz się do newslettera& RSS
Zapisz się do RSS i Newslettera i otrzymuj najnowsze wiadomości o Linuksie, pracę, porady zawodowe i poradniki.,

KERN_WARNING lub loglevel 4 jest to poziom dziennika zwykle używany jako domyślny w większości dystrybucji Linuksa. Ten poziom jest używany do wyświetlania ostrzeżeń lub komunikatów o nieodwracalnych błędach.
Loglevel 5 jest to KERN_NOTICE. Wiadomości, które używają tego poziomu nasilenia są o wydarzeniach, które mogą być warte odnotowania.,
Loglevel6jest toKERN_INFO: jest to poziom dziennika używany do komunikatów informacyjnych o akcji wykonywanej przez jądro.
na koniec mamy KERN_DEBUG, lub loglevel 7, który jest używany głównie do debugowania.

Jak sprawdzić aktualny Domyślny poziom logowania

sprawdzanie domyślnego poziomu logowania używanego w naszym systemie jest bardzo proste. Wystarczy sprawdzić zawartość pliku /proc/sys/kernel/printk., Dla tych z Was, którzy nie wiedzą, /procjest to virtual filesystem: pliki w nim zawarte nie są w rzeczywistości na dysku,ale są wizualną reprezentacją stanu systemu utworzonego przez jądro i utrzymywanego w pamięci. W tym przypadku, na przykład, możemy użyć wspomnianego pliku do odpytywania informacji o domyślnym poziomie dziennika konsoli ustawionym w naszym systemie. Wystarczy uruchomić:

$ cat /proc/sys/kernel/printk

jest to typowe wyjście polecenia:

4 4 1 7

pierwszą wartością w naszym wyjściu jest bieżący console_loglevel., Jest to informacja, której szukaliśmy: wartość 4 w tym przypadku reprezentuje aktualnie używany poziom dziennika. Jak wspomniano wcześniej oznacza to, że na konsoli będą wyświetlane tylko wiadomości o wyższym poziomie ważności.
druga wartość na wyjściu przedstawia default_message_loglevel. Wartość ta jest automatycznie używana dla wiadomości bez określonego poziomu dziennika: jeśli wiadomość nie jest powiązana z poziomem dziennika, ten będzie dla niej używany.
trzecia wartość w wyjściu informuje o stanieminimum_console_loglevel., Wskazuje minimalny poziom logowania, który może być użyty dla console_loglevel. Poziom tutaj używany to 1, najwyższy.
na koniec ostatnia wartość reprezentuje default_console_loglevel, który jest domyślnym poziomem logowania używanym dla console_loglevel podczas rozruchu.,
ze względu na kompletność, musimy powiedzieć, że te same informacje można pobrać również za pomocą polecenia sysctl, uruchamiając:

$ sysctl kernel.printk

zmieniając Domyślny poziom dziennika konsoli

LogLevel w użyciu dla konsoli. W niektórych sytuacjach możemy chcieć zmienić tę wartość: zobaczmy, jak możemy wykonać to zadanie.
najprostszą metodą, jaką możemy zastosować, jest zapis nowej wartości do pliku /proc/sys/kernel/printk., Jest to jednak rozwiązanie tymczasowe, a nowe ustawienie nie będzie utrzymywać restartu maszyny., Powiedzmy, że chcemy zmienić domyślny poziom logowania konsoli na 3, oto co uruchomimy:

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

lub jeśli korzystamy z root konto bezpośrednio:

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

patrząc na zawartość plik, możemy zweryfikować LogLevel jest teraz ten, który podaliśmy w naszym poleceniu:

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

możemy uzyskać ten sam wynik używając sysctl polecenie:

sudo sysctl -w kernel.printk=3

powtórzę to jeszcze raz: są to tymczasowe, nietrwałe rozwiązania., Aby zmienić domyślny poziom logowania w trwały sposób, musimy zmodyfikować plik /etc/default/grub, przekazując parametr loglevel do wiersza poleceń jądra podczas rozruchu: powyżej znajduje się Zawartość pliku /etc/default/grub i zaznaczono, że jest to parametr, który powinien zostać dodany do GRUB_CMDLINE_LINUX, który zawiera instrukcje wiersza poleceń jądra. W tym przypadku użyliśmy loglevel=3 , ponieważ chcieliśmy użyć tego konkretnego loglevel dla konsoli., Po zmodyfikowaniu pliku i zapisaniu zmian, musimy przeładować grub tak, aby nowa konfiguracja została zastosowana przy następnym restarcie: polecenie wykonania tej operacji zależy od dystrybucji, którą uruchamiamy. Ogólnie polecenie to:

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

w dystrybucji opartej na Debianie skrypt wrappera jest używany do wykonywania tej samej operacji:

$ sudo update-grub

konfiguracja grub zostanie zaktualizowana, a przy następnym restarcie, określony poziom dziennika zostanie przyjęty jako domyślny.,

wnioski

w tym tutorialu dowiedzieliśmy się, w jaki sposób dzienniki jądra Linuksa są zorganizowane w zależności od poziomu ich ważności. Zobaczyliśmy również, jak możemy zmienić domyślną konfigurację tak, aby tylko niektóre wiadomości wysyłane przez jądro były wyświetlane na konsoli, używając tych samych kryteriów. W końcu zobaczyliśmy, jak sprawić, by te zmiany stały się trwałe.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *