Pengantar level log Kernel Linux
- 2488
- 373
- Darryl Ritchie
Objektif
Tujuan dari tutorial ini adalah untuk mempelajari tentang berbagai level log kernel Linux, bagaimana mereka diatur, dan bagaimana kita dapat mengatur pesan apa yang harus ditampilkan di konsol tergantung pada tingkat keparahannya.
Persyaratan
- Hak istimewa root untuk mengedit file konfigurasi
Kesulitan
MUDAH
Perkenalan
Manajemen file log kernel Linux adalah salah satu aspek penting dari administrasi mesin: Log dapat dengan mudah memberi tahu kami tentang keadaan daemon, atau menampilkan pesan atau peringatan kritis. Dalam tutorial ini, kita akan melihat berbagai jenis level log yang digunakan oleh kernel linux, bagaimana mereka diatur oleh tingkat keparahan dan bagaimana kita dapat memfilter pesan yang ditampilkan pada konsol tergantung padanya.
Level log kernel linux
Pada dasarnya ada delapan level log yang dapat diadopsi oleh pesan Linux, mulai dari Level 0
dan menurun dalam keparahan 'sampai Level 7
: Pengidentifikasi level log terendah, konteks paling kritis.
Ketika level log ditetapkan sebagai default untuk konsol, baik secara terus -menerus atau sementara, itu bertindak sebagai filter, sehingga hanya pesan dengan level log yang lebih rendah dari itu, (oleh karena itu pesan dengan tingkat keparahan yang lebih tinggi) ditampilkan. Mari kita lihat, secara singkat, bagaimana level log diatur:
Level log pertama adalah 0
, diidentifikasi oleh Kern_emerg
rangkaian. Ini adalah level tertinggi dalam urutan keparahan: diadopsi oleh pesan tentang ketidakstabilan sistem atau kerusakan yang akan terjadi.
Loglevel 1
, atau Kern_alert
Itulah yang terjadi segera setelahnya. Level ini digunakan dalam situasi di mana perhatian pengguna segera diperlukan.
Level log berikutnya dalam urutan keparahan adalah Kern_crit
, atau Loglevel 2
. Tingkat keparahan ini digunakan untuk menginformasikan tentang kesalahan kritis, baik yang terkait dengan perangkat keras atau perangkat lunak.
Loglevel 3
, juga diidentifikasi oleh Kern_err
string, ini adalah yang berikutnya dalam skala. Pesan yang mengadopsi level ini sering digunakan untuk memberi tahu pengguna tentang kesalahan non-kritis, karena misalnya pengenalan perangkat yang gagal atau bermasalah, atau lebih umum masalah terkait pengemudi.
Kern_warning
, atau Loglevel 4
Ini adalah level log yang biasanya digunakan sebagai default di sebagian besar distribusi Linux. Level ini digunakan untuk menampilkan peringatan atau pesan tentang kesalahan yang tidak akan terjadi.
Loglevel 5
dia Kern_notice
. Pesan yang menggunakan tingkat keparahan ini adalah tentang peristiwa yang mungkin patut dicatat.
Loglevel 6
dia Kern_info
: Ini adalah level log yang digunakan untuk pesan informasi tentang tindakan yang dilakukan oleh kernel.
Akhirnya, kami punya Kern_debug
, atau Loglevel 7
, yang terutama digunakan untuk debugging.
Cara Memeriksa Level Log Default Saat Ini
Memeriksa Logglevel Default yang Digunakan pada Sistem Kami Ini sangat mudah. Yang harus kita lakukan adalah memeriksa konten dari /proc/sys/kernel/printk
mengajukan. Bagi Anda yang tidak tahu, /Proc
itu a Sistem file virtual
: File -file yang terkandung di dalamnya sebenarnya bukan pada disk, tetapi merupakan representasi visual dari keadaan sistem yang dibuat oleh kernel dan dipelihara dalam memori. Dalam hal ini, misalnya, kami dapat menggunakan file yang disebutkan di atas untuk meminta informasi tentang level log konsol default yang ditetapkan dalam sistem kami. Yang harus kita lakukan adalah menjalankan:
$ kucing/proc/sys/kernel/printk
Ini adalah output khas dari perintah:
4 4 1 7
Nilai pertama dalam output kami adalah arus Console_loglevel
. Ini adalah informasi yang kami cari: nilainya, 4
dalam hal ini, mewakili level log yang saat ini digunakan. Seperti yang dikatakan sebelum ini berarti bahwa hanya pesan yang mengadopsi tingkat keparahan yang lebih tinggi dari itu, akan ditampilkan di konsol.
Nilai kedua dalam output mewakili default_message_loglevel
. Nilai ini secara otomatis digunakan untuk pesan tanpa level log tertentu: jika pesan tidak terkait dengan level log, yang satu ini akan digunakan untuk itu.
Nilai ketiga dalam output melaporkan minimum_console_loglevel
status. Itu menunjukkan loglevel minimum yang dapat digunakan untuk Console_loglevel
. Level di sini digunakan 1
, paling atas.
Akhirnya, nilai terakhir mewakili default_console_loglevel
, yang merupakan logglevel default yang digunakan untuk Console_loglevel
pada waktu boot.
Demi kelengkapan, kita harus mengatakan bahwa informasi yang sama dapat diambil juga dengan menggunakan sysctl
Perintah, Menjalankan:
Kernel $ sysctl.printk
Mengubah Level Log Konsol Default
Kami baru saja melihat cara mengambil informasi tentang logglevel saat ini yang digunakan untuk konsol. Dalam beberapa situasi kita mungkin ingin mengubah nilai itu: mari kita lihat bagaimana kita dapat menyelesaikan tugas ini.
Metode paling mudah yang dapat kita gunakan, adalah menulis nilai baru ke /proc/sys/kernel/printk
mengajukan. Namun ini adalah solusi sementara, dan pengaturan baru tidak akan bertahan dari mesin reboot. Katakanlah kami ingin mengubah logglevel konsol default menjadi 3
, Inilah yang akan kami jalankan:
$ echo "3" | sudo tee/proc/sys/kernel/printk
Atau jika menggunakan akar
Akun secara langsung:
# echo "3">/proc/sys/kernel/printk
Dengan melihat konten file, kami dapat memverifikasi bahwa Loglevel sekarang yang kami tentukan dalam perintah kami:
$ cat/proc/sys/kernel/printk 3 4 1 7
Kita bisa mendapatkan hasil yang sama menggunakan sysctl
memerintah:
sudo sysctl -w kernel.printk = 3
Izinkan saya mengulanginya lagi: Ini adalah solusi sementara dan tidak bersyarat. Untuk mengubah logglevel default dengan cara yang persisten, kita harus memodifikasi /etc/default/grub
file, melewati Loglevel
Parameter ke baris perintah kernel saat boot:
Grub_timeout = 5 grub_distributor = "$ (Sed's, rilis .*$ ,, g ' /etc /sistem-rilis) "grub_default = saved grub_disable_submenu = true grub_terminal_output =" konsol "grub_cmdline_linux ="Logglevel = 3 resume = uuid = df5a0685-43f8-433a-8611-57335a10ca8d "grub_disable_recovery =" true "
Di atas adalah konten file/etc/default/grub, dan disorot itu adalah parameter yang harus ditambahkan ke Grub_cmdline_linux
, yang berisi instruksi baris perintah kernel. Dalam hal ini kami menggunakan Logglevel = 3
, Karena kami ingin menggunakan loglevel spesifik itu untuk konsol. Setelah memodifikasi file dan menyimpan perubahan, kita harus memuat ulang grub sehingga konfigurasi baru akan diterapkan pada reboot berikutnya: perintah untuk melakukan operasi ini tergantung pada distribusi yang kami jalankan. Secara umum perintahnya adalah:
$ sudo grub2 -mkconfig -o/boot/grub2/grub.CFG
Pada distribusi berbasis Debian, skrip pembungkus digunakan untuk melakukan operasi yang sama:
$ sudo update-grub
Konfigurasi grub akan diperbarui, dan pada reboot berikutnya, level log yang ditentukan akan diadopsi sebagai default.
Kesimpulan
Dalam tutorial ini kita telah belajar bagaimana log kernel linux diatur tergantung pada tingkat keparahannya. Kami juga melihat bagaimana kami dapat mengubah pengaturan default sehingga hanya pesan tertentu yang dikirim oleh kernel yang ditampilkan di konsol, menggunakan kriteria yang sama. Akhirnya kami melihat cara membuat perubahan itu gigih.
Tutorial Linux Terkait:
- Hal -hal yang harus diinstal pada ubuntu 20.04
- Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux
- Pengantar Otomatisasi Linux, Alat dan Teknik
- Pencatatan dan audit lanjutan di Linux
- Cara mengelola dan memecahkan masalah log Kubernetes
- File Konfigurasi Linux: 30 Teratas Paling Penting
- Unduh Linux
- Hal -hal yang harus dilakukan setelah menginstal ubuntu 22.04 Jammy Jellyfish…
- Instal Arch Linux di VMware Workstation
- Can Linux mendapatkan virus? Menjelajahi kerentanan Linux…
- « Cara Mengkonfigurasi Daemon Autofs di Centos 7/Rhel 7
- Cara mengaktifkan semua fungsi sysrq di linux »