Wprowadzenie do poziomów dziennika jądra Linux
- 1851
- 75
- Maria Piwowarczyk
Cel
Celem tego samouczka jest poznanie różnych poziomów dziennika jądra Linux, sposobu ich zorganizowania i sposobu skonfigurowania, jakie wiadomości powinny być wyświetlane na konsoli, w zależności od ich nasilenia.
Wymagania
- Przywileje roota do edytowania plików konfiguracyjnych
Trudność
ŁATWY
Wstęp
Zarządzanie plikami dziennika jądra Linux jest jednym kluczowym aspektem administracji maszynowej: dzienniki mogą po prostu poinformować nas o stanie demona lub pokazać krytyczne wiadomości lub ostrzeżenia. W tym samouczku zobaczymy różnego rodzaju poziomu dziennika używanego przez jądro Linux, jak są one zorganizowane przez nasilenie i jak możemy filtrować wiadomości wyświetlane na konsoli w zależności od tego.
Poziomy dziennika jądra Linux
Istnieje w zasadzie osiem poziomów dziennika, które komunikat wysłany przez jądro Linux może przyjąć, zaczynając od Poziom 0
i zmniejszenie nasilenia Poziom 7
: najniższy identyfikator poziomu dziennika, najważniejszy kontekst.
Gdy poziom dziennika jest ustawiony jako domyślnie konsoli, wyświetlane są trwałe lub tymczasowo, działa jako filtr, tak że wyświetlane są tylko komunikaty o poziomie dziennika, (dlatego wiadomości o większym nasileniu). Zobaczmy krótko, jak zorganizowane są poziomy dziennika:
Pierwszy poziom dziennika to 0
, zidentyfikowane przez Kern_emerg
strunowy. Jest to najwyższy poziom w kolejności nasilenia: jest przyjmowany przez wiadomości o niestabilności systemu lub nieuchronnych awariach.
Loglevel 1
, Lub Kern_alert
To jest to, co pojawia się natychmiast po. Ten poziom jest używany w sytuacjach, w których uwaga użytkownika jest natychmiastowa.
Następny poziom dziennika w kolejności nasilenia jest Kern_crit
, lub LOTLEVEL 2
. Ten poziom nasilenia służy do informowania o błędach krytycznych, zarówno związanych ze sprzętem, jak i oprogramowaniem.
Loglevel 3
, zidentyfikowane również przez Kern_err
ciąg, to następny w skali. Wiadomości przyjmujące ten poziom są często używane do powiadomienia użytkownika o błędach niekrytycznych, jak na przykład nieudane lub problematyczne rozpoznawanie urządzeń lub bardziej ogólnie problemy związane z sterownikiem.
Kern_Warning
, lub LOTLEVEL 4
Jest to poziom dziennika zwykle używany jako domyślny w większości rozkładów Linux. Ten poziom, którego używany jest do wyświetlania ostrzeżeń lub wiadomości o nieuchwytnych błędach.
Loglevel 5
jego Kern_notice
. Wiadomości, które wykorzystują ten poziom ciężkości, dotyczą wydarzeń, które warto zwrócić uwagę.
Loglevel 6
jego Kern_info
: Jest to poziom dziennika używany do wiadomości informacyjnych o akcji wykonanej przez jądro.
Wreszcie mamy Kern_debug
, lub LOTLEVEL 7
, który służy głównie do debugowania.
Jak sprawdzić bieżący domyślny poziom dziennika
Sprawdzanie domyślnego logowania używanego w naszym systemie jest bardzo łatwe. Wszystko, co musimy zrobić, to zbadać treść /proc/sys/jądro/printk
plik. Dla tych z was, którzy nie wiedzą, /Proc
to jest Wirtualny system plików
: Pliki zawarte w nim nie są w rzeczywistości na dysku, ale są wizualną reprezentacją stanu systemowego stworzonego przez jądro i utrzymywane w pamięci. W takim przypadku na przykład możemy użyć powyższego pliku, aby zapytać o informacje na temat domyślnego poziomu dziennika konsoli w naszym systemie. Wszystko, co musimy zrobić, to uruchomić:
$ cat/proc/sys/jądro/printk
Jest to typowe dane wyjściowe polecenia:
4 4 1 7
Pierwszą wartością w naszym wyjściu jest bieżący console_loglevel
. To są informacje, których szukaliśmy: wartość, 4
W takim przypadku reprezentuje obecnie używany poziom dziennika. Jak powiedziano wcześniej, oznacza to, że tylko wiadomości przyjmujące poziom nasilenia wyższy niż on, zostaną wyświetlone na konsoli.
Druga wartość w wyjściu reprezentuje default_message_loglevel
. Ta wartość jest automatycznie używana do komunikatów bez określonego poziomu dziennika: jeśli komunikat nie jest powiązany z poziomem dziennika, ten zostanie do niej używany.
Trzecia wartość w wyjściach informuje minimum_console_loglevel
status. Wskazuje minimalny poziom logowania, do którego można użyć console_loglevel
. Poziom tutaj jest używany 1
, najwyższy.
Wreszcie ostatnia wartość reprezentuje default_console_loglevel
, który jest domyślnym logiem używanym console_loglevel
w czasie rozruchu.
Ze względu na kompletność musimy powiedzieć, że te same informacje można również pobrać, używając Sysctl
polecenie, uruchamianie:
$ sysctl jądro.Prink
Zmiana domyślnego poziomu dziennika konsoli
Właśnie widzieliśmy, jak pobrać informacje o bieżącym poziomie logowania 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 użyć, jest napisanie nowej wartości do /proc/sys/jądro/printk
plik. Jest to jednak rozwiązanie tymczasowe, a nowe ustawienie nie utrzyma ponownego uruchomienia maszyny. Powiedzmy, że chcemy zmienić domyślny logowanie konsoli na 3
, Oto, co byśmy uruchomili:
$ echo „3” | sudo tee/proc/sys/jądro/printk
Lub jeśli używasz źródło
Konto bezpośrednio:
# echo "3">/proc/sys/jądro/printk
Patrząc na zawartość pliku, możemy sprawdzić, czy logowanie jest teraz tym, które określono w naszym poleceniu:
$ cat/proc/sys/jądro/printk 3 4 1 7
Możemy uzyskać ten sam wynik za pomocą Sysctl
Komenda:
jądro sudo sysctl -w.PrintK = 3
Powtórzę to ponownie: są to tymczasowe, nieprzyżarowe rozwiązania. Aby zmienić domyślną logowanie w trwałym sposób, musimy zmodyfikować /etc/default/grub
plik, przekazanie Loglevel
parametr do wiersza polecenia jądra w rozruchu:
Grub_timeout = 5 Grub_distributor = "$ (sed 's, wydanie .*$ ,, g ' /etc /system-release) „Grub_default = Saved Grub_Disable_Submenu = True Grub_Minal_output =" Console "Grub_Cmdline_linux ="loglevel = 3 Resume = uuid = df5a0685-43f8-433a-8611-57335a10ca8d „Grub_disable_reCovery =„ True ”
Powyżej znajduje się zawartość pliku/etc/default/grub i podświetlony jest to parametr, do którego należy dodać 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 poziomu dziennika dla konsoli. Po zmodyfikowaniu pliku i zapisaniu zmian musimy ponownie załadować GRUB, aby nowa konfiguracja została zastosowana przy następnym ponownym uruchomieniu: Polecenie do wykonania tej operacji zależy od działanego rozkładu. Ogólnie polecenie to:
$ sudo grub2 -mkconfig -o/boot/grub2/grub.CFG
W dystrybucji opartej na debian skrypt opakowania służy zasadniczo do wykonywania tej samej operacji:
$ sudo aktualizacja Grub
Konfiguracja GRUB zostanie zaktualizowana, a przy następnym ponownym uruchomieniu określony poziom dziennika zostanie przyjęty jako domyślny.
Wnioski
W tym samouczku dowiedzieliśmy się, w jaki sposób dzienniki jądra Linux są zorganizowane w zależności od poziomu nasilenia. Widzieliśmy również, w jaki sposób możemy zmienić domyślną konfigurację, aby na konsoli były wyświetlane tylko niektóre wiadomości wysyłane przez jądro. Wreszcie widzieliśmy, jak uruchomić te zmiany.
Powiązane samouczki Linux:
- Rzeczy do zainstalowania na Ubuntu 20.04
- Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
- Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
- Zaawansowane rejestrowanie i audyt w systemie Linux
- Jak zarządzać i rozwiązywać problemy z dziennikami Kubernetes
- Linux Pliki konfiguracyjne: Top 30 Najważniejsze
- Pobierz Linux
- Rzeczy do zrobienia po zainstalowaniu Ubuntu 22.04 JAMMY Jellyfish…
- Zainstaluj Arch Linux na stacji roboczej VMware
- Czy Linux może uzyskać wirusy? Badanie podatności Linuksa…