[Це було написано за кілька років до широкого прийняття журналу про системні системи, і це не стосується. В даний час (кінець 2018 року) і журнал, і (r) syslog, описані нижче, використовуються на дистрибутивах, таких як Debian. Для інших, можливо, доведеться встановити rsyslog, якщо ви хочете використовувати його поряд, але інтеграція з journald є простою.]
Я не буду особливо обговорювати ведення журналів щодо ubuntu, оскільки тема в цілому стандартизована для Linux (і я вважаю, що більшість або все те, що я маю сказати, також справедливо в цілому для будь-якого смаку * nix, але не візьміть за це моє слово). Я також не скажу багато про те, як читати журнали, окрім відповіді на це запитання:
Чи є правильним припущення, що вони написані для читабельності для людини чи їх загалом оцінюють та використовують інші інструменти?
Я думаю, це залежить від програми, але в цілому, принаймні, що стосується того, що входить у syslog (див. Нижче), вони повинні бути зрозумілими для людини. "Мені значуще" - це ще одне питання, lol. Однак вони можуть бути також структуровані таким чином, щоб полегшити їх аналіз зі стандартними інструментами (grep, awk тощо) для конкретних цілей.
У будь-якому випадку, по-перше, існує різниця між додатками, які здійснюють власну реєстрацію, та програмами, які використовують системний реєстратор. Apache за замовчуванням є першим, хоча це можна налаштувати робити пізніше (що, на мою думку, більшість людей вважає небажаним). Програми, які здійснюють свій власний журнал, можуть робити це будь-яким чином, використовуючи будь-яке місце для файлів (файлів), тому про це говорити не багато. Зазвичай системний реєстратор називається syslog
.
syslog
"Syslog" - це дійсно стандарт, який реалізується з демоновим процесом, який загалом називається syslogd (d - для демона!). Переважним демоном syslog, який зараз використовується в Linux, включаючи ubuntu, є rsyslogd
. Rsyslogd може зробити багато, але, налаштований поза полем у більшості дистрибутивів, він імітує традиційний syslog, який сортує матеріали у звичайні текстові файли /var/log
. Ви можете знайти документацію на нього /usr/share/doc/rsyslog-doc-[version]
(будьте уважні, є також /usr/share/doc/rsyslog-[version]
, але це лише повідомлення від вихідного пакету, такі як NEWS
і ChangeLog
). Якщо він є, це html, але Stack Exchange не дозволяє вставляти локальні посилання на файли:
file://usr/share/doc/rsyslog-doc/index.html
Тож ви можете спробувати скопіювати це вставлення. Якщо його там немає, він може бути частиною окремого пакету, який не встановлений. Запитайте систему упаковки (наприклад, apt-cache search rsyslog | grep doc
).
Конфігурація входить /etc/rsyslog.conf
, має сторінку вручну man rsyslog.conf
, хоча, хоча на сторінці вручну є чіткі посилання, вона може бути менш проникною як вступ. На щастя, основи запасу rsyslog.conf відповідають принципам традиційного syslog.conf, для яких існує багато вступів та навчальних посібників. Цей , наприклад; те, що ви хочете забрати від цього, вдивляючись у ваш місцевий rsyslog.conf, - це розуміння можливостей та пріоритетів ("пріоритет" іноді називають loglevel), оскільки вони є частиною згаданого стандарту syslog. Причина, що цей стандарт є важливою, полягає в тому, що rsyslog фактично отримує свої речі через ядро, а те, що реалізує ядро, це стандарт.
Що стосується $
директив у rsyslog.conf, це специфічні для rsyslog, і якщо ви встановите цей необов'язковий пакет документів, ви знайдете посібник з них rsyslog_conf_global.html
.
Будьте веселі ... якщо вам цікаво, як програми використовують системний реєстратор, подивіться man logger
і man 3 syslog
.
Обертання журналу
Нормативний засіб обертання колод - це інструмент, який називається logrotate
(і є man logrotate
). Нормативний метод використання логротату здійснюється через демон cron , хоча це не потрібно робити так (наприклад, якщо ви схильні щодня вимикати робочий стіл, ви можете просто зробити це один раз під час завантаження до запуску syslog, але, очевидно, після встановлення файлової системи rw).
Там це введення добре LogRotate тут . Зауважте, що logrotate - це не лише для syslog , але він може взагалі використовуватись із будь-яким файлом. Базовий файл конфігурації є /etc/logrotate.conf
, але оскільки конфігурація має директиву "включати", зазвичай більшість матеріалів переходить до окремих файлів у /etc/logrotate.d
каталозі (тут d - для каталогу, а не демона; logrotate - не демон).
Важливе, що слід враховувати при використанні логротату, - це те, як програма повторно діятиме, коли її файл журналу "повертається" - іншими словами, переміщується - під час роботи програми. WRT (r) syslogd, він просто перестане писати до цього журналу (я думаю, що для цього є обґрунтування безпеки). Звичайний спосіб вирішити це - сказати syslog перезапустити (і повторно відкрити всі його файли), ось чому ви побачите postrotate
директиву у файлах logrotate conf, що надсилають SIGHUP до демона syslog.