Різниця між / var / log / messages, / var / log / syslog та /var/log/kern.log?


68

Для цілей ведення журналу ядра, чому у мене є три різні, не включені рівні протоколювання серед /var/log/messages, /var/log/syslogі /var/log/kern.log?


Зауважте, що / var / log / messages - це системний журнал для систем, що не є Debian / не-Ubuntu, такими як системи RHEL або CentOS.
Томас Уорд

Зауважте, що journalctlповільно замінюється, syslogяк перейти на ресурс для моніторингу системних повідомлень.
WinEunuuchs2Unix

Відповіді:


52

Syslog - це стандартне лісозаготівельне обладнання. Він збирає повідомлення різних програм і служб, включаючи ядро, і зберігає їх, залежно від налаштування, у купі файлів журналів, зазвичай під /var/log. У деяких настройках центру обробки даних є сотні пристроїв, кожен з яких має власний журнал; syslog стане в нагоді і тут. Один просто встановлює спеціальний сервер syslog, який збирає всі окремі журнали пристроїв по мережі. Syslog також може зберігати журнали до баз даних та інших клієнтів.

Згідно з моїм /etc/syslog.conf, за замовчуванням /var/log/kern.logфіксує лише повідомлення ядра будь-якого логвелу; тобто вихід dmesg.

/var/log/messagesнатомість націлена на зберігання цінних, невідладних та некритичних повідомлень. Цей журнал слід вважати журналом "загальної системної діяльності".

/var/log/syslog у свою чергу реєструє все, крім повідомлень, пов’язаних з автентичністю.

Інші insteresting стандартні журнали , керовані Syslog є /var/log/auth.log, /var/log/mail.log.

Що стосується вашого запитання: якщо вам потрібен виключно журнал повідомлень ядра, використовуйте kern.logабо зателефонуйте dmesg.


1
будь-які посилання на вас претензії, будь ласка?
Goaler444

8
@ Goaler444, man syslog.conf.
ulidtko

2
Зауважте, що записи в буфері кільця ядра (те, що читає dmesg) не включають його до файлу / var / log за замовчуванням, якщо вони були написані процесом простору користувача. Вам потрібно встановити $KLogPermitNonKernelFacility onв конфігурації rsyslogd, якщо ви хочете бачити ці повідомлення у /var/log. Дивіться мою відповідь за адресою askubuntu.com/a/490900/297973 для отримання більш детальної інформації.
Ванесса Фіппс

7
також варто відзначити, що ubuntu ( оскільки natty ) більше не використовує /var/log/messages, а зберігає все на/var/log/syslog
jackbravo

1
в Ubuntu 16.04 /var/log/syslog- це дійсно чистий набір даних /var/log/kern.logіз застереженнями, які доводиться враховувати для різних стратегій обертання. Наприклад , в моїй системі ( по замовчуванням конфігурації без змін) сьогоднішніх і вчорашніх повідомлень зберігаються в одному файлі , в /var/log/kern.logтой час як більшість вчорашніх повідомлень для syslogв /var/log/syslog.1.
Маркус Юній Брут

12
  • syslog містить усі повідомлення, крім типу auth.
  • повідомлення містить лише загальні некритичні повідомлення. Категорія info, noticeіwarn
  • Для повного журналу дивитися на /var/log/syslogі/var/log/auth.log
  • AFAIK /var/log/kern.logмістить повідомлення ядра.
  • Файли журналів - це лише умова, прописана в /etc/syslog.conf
  • читайте syslog(3)для отримання додаткової інформації

Перевірте цю сторінку про відмінності між повідомленнями та syslog

він говорить , що /var/log/messages /var/log/syslog


1
Посилання, яке ви надали, порушено.
slm


4
Дублюючи коментар, відповідь ulidtko: також варто відзначити, що ubuntu ( оскільки natty ) більше не використовує /var/log/messages, а зберігає все/var/log/syslog
jackbravo
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.