Dalam panduan ini, saya akan membahas cara melihat log systemd di Linux menggunakan utilitas baris perintah yang berbeda.
Catatan: Perintah yang disebutkan dalam panduan ini dijalankan di Ubuntu. Mereka akan bekerja tanpa kesalahan pada semua distribusi Linux yang disertakan dengan sistem init systemd.
Metode untuk Melihat Log systemctl
Ada dua pendekatan untuk melihat log systemd di Linux:
systemctl memberikan log khusus layanan terbaru, sementara journalctl memberikan log mendalam seluruh sistem dari semua layanan dan layanan spesifik.
Saya akan menjelajahi kedua utilitas untuk melihat log systemd. Tapi pertama-tama, mari kita pahami perbedaan utama antara perintah systemctl dan journalctl.
Apa itu systemctl
Systemctl adalah utilitas baris perintah yang mengelola layanan systemd, seperti mengaktifkan atau menonaktifkan layanan dan melihat status. Itu status sistemctl perintah juga mencetak beberapa baris log layanan di bagian bawah output, dan log ini setelah boot baru-baru ini. Namun, baris log layanan ini hanya berasal dari setelah booting saat ini.
Apa itu jurnalctl
Journalctl adalah utilitas baris perintah yang digunakan untuk mencetak log yang dikumpulkan oleh systemd. Dibandingkan dengan systemctl, ini memberikan keluaran terperinci dengan opsi pemfilteran. Utilitas ini dirancang untuk:
- Baca log (Log terlama didahulukan)
- Pantau log
- Filter log berdasarkan waktu, layanan, atau pengguna
Systemd mengumpulkan log dari kernel, layanan, dan daemon dan menyimpannya di tempat terpusat.
Cara Melihat Log Layanan menggunakan systemctl
Sintaks umum untuk menemukan log layanan menggunakan sistemctl utilitas disebutkan di bawah ini.
status sistemctl [ Nama layanan ]Misalnya, untuk melihat informasi log smbd.service gunakan perintah yang diberikan di bawah ini.
status sistemctl smbd.layanan
Untuk mendapatkan keluaran tanpa penomoran halaman, tambahkan –tanpa pager pilihan dalam perintah.
status sistemctl smbd.layanan --tidak ada pager
Cara Melihat Log Layanan menggunakan journalctl
Untuk melihat log layanan tertentu systemd, gunakan jurnalctl dengan -di dalam perintah dan layanan atau nama unit.
jurnalctl -di dalam [ Nama layanan ]Pada perintah di atas, -di dalam bendera, kependekan dari -satuan digunakan untuk menyaring jurnalctl keluaran dengan nama unit.
Misalnya untuk mencetak log seseorang daemon, saya akan menggantinya [nama unit] dengan smbd.service .
jurnalctl -di dalam smbd.service
Dalam outputnya, dapat dilihat bahwa entri terlama didahulukan dan kemudian dicatat setelah setiap boot dicantumkan.
Untuk mendapatkan entri terbaru, gunakan terlebih dahulu -Dia kependekan dari –pager-akhir.
jurnalctl -di dalam smbd.service -Dia
Jika Anda ingin menghilangkan pagination dari output, cukup tambahkan –tanpa pager dalam perintah yang disebutkan di atas.
Untuk terus mencetak entri log dalam penggunaan waktu nyata -F kependekan dari -mengikuti .
jurnalctl -di dalam smbd.service -FPemfilteran selanjutnya dapat diperluas dengan menggunakan kependekan dari -b flag –boot , yang mencetak log berdasarkan boot saat ini.
jurnalctl -di dalam [ nama unit ] -BMari kita cetak log dari smbd.service dari boot baru-baru ini.
jurnalctl -di dalam smbd.service -B
Output di atas menyerupai output yang kita dapatkan dengan menggunakan status sistemctl memerintah.
Untuk mendapatkan ikhtisar log terperinci, gunakan -X kependekan dari -katalog pilihan.
jurnalctl -di dalam smbd.service -XIni akan menambahkan deskripsi singkat tentang log.
Nah, untuk mencetak log berdasarkan waktu menggunakan journalctl ada dua pilihan, -S kependekan dari -sejak Dan -DI DALAM kependekan dari -sampai .
jurnalctl -di dalam [ nama unit ] -S '[tahun-bulan-tanggal] [jam:menit:detik]'Misalnya, untuk melihat log unit seseorang dari 2024:01:30 12:05:00 .
jurnalctl -di dalam smbd.service -S '2024:01:30 12:05:00'
Kesimpulan
Untuk melihat log systemd suatu layanan, ada dua utilitas utama, journalctl dan systemctl. Journalctl dirancang khusus untuk melihat log systemd. Namun, systemctl juga memiliki opsi untuk mencetak log layanan. Untuk mencetak log penggunaan layanan, jurnalctl -u [nama unit] dan sistemctl [nama unit].