Pengantar level log Kernel Linux

Pengantar level log Kernel Linux

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…