Perbedaan antara / var / log / messages, / var / log / syslog, dan /var/log/kern.log?

68

Untuk keperluan kernel logging, mengapa saya memiliki tiga yang berbeda, tingkat non-termasuk logging di antara /var/log/messages, /var/log/syslogdan /var/log/kern.log?

Seorang Mahasiswa di Universitas
sumber
Perhatikan bahwa / var / log / messages adalah syslog pada sistem non-Debian / non-Ubuntu seperti sistem RHEL atau CentOS biasanya.
Thomas Ward
Catatan yang journalctlperlahan diganti syslogsebagai sumber daya untuk memonitor pesan sistem.
WinEunuuchs2Unix

Jawaban:

52

Syslog adalah fasilitas logging standar. Ia mengumpulkan pesan dari berbagai program dan layanan termasuk kernel, dan menyimpannya, tergantung pada pengaturan, dalam banyak file log yang biasanya ada di bawah /var/log. Dalam beberapa pengaturan pusat data ada ratusan perangkat masing-masing dengan lognya sendiri; syslog juga berguna di sini. Satu hanya menyiapkan server syslog khusus yang mengumpulkan semua log perangkat individu melalui jaringan. Syslog juga dapat menyimpan log ke database, dan klien lain.

Menurut saya /etc/syslog.conf, default /var/log/kern.loghanya menangkap pesan kernel dari sembarang loglevel; yaitu output dari dmesg.

/var/log/messagesalih-alih bertujuan menyimpan pesan yang berharga, non-debug, dan tidak-kritis. Log ini harus dianggap sebagai log "aktivitas sistem umum".

/var/log/syslog pada gilirannya mencatat segalanya, kecuali pesan terkait auth.

Lainnya log insteresting standar dikelola oleh syslog yang /var/log/auth.log, /var/log/mail.log.

Mengenai pertanyaan Anda: jika Anda hanya perlu log pesan kernel, gunakan kern.logatau panggil dmesg.

ulidtko
sumber
1
ada referensi untuk Anda klaim tolong?
Goaler444
8
@ Goaler444 man syslog.conf,.
ulidtko
2
Perhatikan bahwa entri dalam buffer cincin kernel (apa yang dibaca dmesg) tidak akan membuatnya menjadi file / var / log secara default jika itu ditulis oleh proses ruang pengguna. Anda perlu mengatur $KLogPermitNonKernelFacility onkonfigurasi rsyslogd jika Anda ingin melihat pesan-pesan itu /var/log. Lihat jawaban saya di askubuntu.com/a/490900/297973 untuk lebih jelasnya.
Vanessa Phipps
7
juga patut dicatat bahwa ubuntu ( karena rapi ) tidak lagi digunakan /var/log/messages, dan menyimpan semuanya di/var/log/syslog
jackbravo
1
di Ubuntu 16.04 /var/log/syslogmemang superset bersih /var/log/kern.logdengan peringatan bahwa seseorang harus memperhitungkan strategi rotasi yang berbeda. Misalnya dalam sistem saya (konfigurasi default tidak berubah) pesan hari ini dan kemarin disimpan dalam satu file di mana /var/log/kern.logsebagian besar pesan kemarin untuk syslogberada di /var/log/syslog.1.
Marcus Junius Brutus
12
  • syslog berisi semua pesan kecuali dari tipe auth.
  • pesan hanya berisi pesan umum non-kritis. Kategori ini adalah info, noticedanwarn
  • Untuk log lengkap lihat /var/log/syslogdan/var/log/auth.log
  • AFAIK /var/log/kern.logberisi pesan-pesan kernel.
  • file log hanyalah sebuah konvensi yang dijabarkan di /etc/syslog.conf
  • baca syslog(3)untuk informasi lebih lanjut

Periksa halaman ini tentang perbedaan antara pesan dan syslog

katanya /var/log/messages /var/log/syslog

Manish Sinha
sumber
1
Tautan yang Anda berikan rusak.
slm
4
Menggandakan komentar dan jawaban ulidtko: juga patut dicatat bahwa ubuntu ( karena rapi ) tidak lagi digunakan /var/log/messages, dan menyimpan semuanya di/var/log/syslog
jackbravo