Файл /etc/systemd/journald.conf#
Описание#
Файл конфигурации journald.conf, расположенный в каталоге /etc/systemd/, является важным компонентом системы ведения журналов в операционных системах на базе Linux, использующих систему инициализации systemd. Файл journald.conf и связанные с ними файлы drop-in настраивают параметры службы журнала systemd-journald.service. Ознакомиться с общим синтаксисом конфигурации можно в разделе «Общий синтаксис файлов конфигурации systemd».
Примечание
Drop-in — метод управления конфигурационными файлами в Linux. Файлы drop-in используют для добавления дополнительных настроек к уже существующему файлу конфигурации без необходимости его редактирования.
Экземпляр systemd-journald, управляющий пространством имен по умолчанию, настраивается через journald.conf. Экземпляры, отвечающие за другие пространства имен, используют файлы journald@NAMESPACE.conf и соответствующие drop-in. Это позволяет каждому пространству имен иметь свою уникальную конфигурацию. Больше информации о пространствах имен журнала можно найти на соответствующей странице справочника man с помощью команды man systemd-journald.service.
Каталог конфигурации и приоритезация#
Конфигурация по умолчанию определяется во время компиляции, поэтому ее изменение требуется только при необходимости отклонения от стандартных значений. Основной файл конфигурации в /etc/systemd/ изначально содержит комментарии, демонстрирующие значения по умолчанию, что служит руководством для администратора. Реальные переопределения можно создавать путем редактирования этого файла или создания drop-in, как описано далее. Использование drop-in для локальной настройки предпочтительнее прямого изменения основного файла конфигурации.
Кроме основного файла конфигурации, настройки drop-in загружаются из каталогов /usr/lib/systemd/*.conf.d/, /usr/local/lib/systemd/*.conf.d/ и /etc/systemd/*.conf.d/. Эти drop-in имеют более высокий приоритет и могут переопределять настройки основного файла. Файлы в подкаталогах конфигурации .conf.d/ сортируются по имени файла в лексикографическом порядке, независимо от их расположения. Если несколько файлов указывают один и тот же параметр, то для параметров с одним значением берется последнее, а для параметров с несколькими значениями все значения объединяются в порядке их появления.
Пакеты могут устанавливать свои конфигурации drop-in в /usr/. Файлы в /etc/ предназначены для локального администратора, который может использовать эту логику для переопределения конфигурационных файлов, установленных пакетами. Основной файл конфигурации имеет самый низкий приоритет. Рекомендуется присваивать всем именам файлов в этих подкаталогах префикс с двузначным номером и знаком тире, чтобы упростить управление файлами.
Для отключения конфигурационного файла, установленного сторонним поставщиком, рекомендуется создать символическую ссылку на /dev/null в каталоге конфигурации /etc/ с именем файла конфигурации поставщика.
Параметры конфигурации#
Все параметры настраиваются в разделе [Journal] файла journald.conf.
Примеры параметров:
Storage— способ хранения журналов. Возможные значения:persistent— журналы будут храниться на диске (обычно в/var/log/journal). Позволяет сохранять логи после перезагрузки;volatile— журналы будут храниться только в оперативной памяти и будут потеряны после перезагрузки;auto— по умолчаниюsystemdбудет пытаться хранить журналы на диске, но если место на диске недоступно, будет использоваться оперативная память;none— хранение журнала отключено, но пересылка сообщений в консоль,kmsgиsyslogбудет работать.
LineMax— максимальная длина строки, допускаемая при преобразовании журналов потока в журналы записей. Единицы измерения: байт. Возможные значения: размер строки в байтах, при указании после числаK(кило),M(мега),G(гига),T(тера) значение будет преобразовано в соответствующее число с основанием 1024. По умолчанию:48K.ReadKMsg— обработкаsystemd-journalсообщений/dev/kmsg, генерируемых ядром. Возможные значения:yesилиno.Compress— сжатие журнала для экономии места. Возможные значения:yesилиno. По умолчанию:no.Seal— защита Forward Secure Sealing (FSS) для обеспечения целостности журнала. Помогает защитить данные от подделки. Возможные значения:yesилиno. По умолчанию:yes.SplitMode— режим разделения доступа к журналу между пользователями.Возможные значения:
uid— каждый пользователь получает отдельный журнал;none— все записи хранятся в одном журнале.
SystemMaxUse— максимальный объем хранимого журнала для системного журнала. Возможные значения: размер в байтах, например,100M,1G. Если значение превышено, старые записи будут удалены.SystemKeepFree— минимально допустимый объeм свободного места на диске для хранения системного журнала. Возможные значения: размер в байтах, например,100M,1G.SystemMaxFileSize— максимальный размер одного файла журнала. Возможные значения: размер в байтах, например,100M,1G.SystemMaxFiles— максимальное количество файлов журнала, которые могут храниться. Возможные значения: целое число. Если превышено, старые файлы будут удалены.MaxRetentionSec— максимальное время хранения записей журнала. По умолчанию:0. Возможные значения: время вyear,month,week,day,h,m. Без указания единицы измерения используются секунды.MaxFileSec— максимальное время хранения записей в одном файле журнала, после которого он переводится в следующий. Возможные значения: время вyear,month,week,day,h,m. Без указания единицы измерения используются секунды.RateLimitIntervalSecиRateLimitBurst— настройки ограничения скорости генерации сообщений для каждой службы в системе. Если в интервале времени, определяемомRateLimitIntervalSec, службой регистрируется больше сообщений, чем указано вRateLimitBurst, то все дальнейшие сообщения в интервале отбрасываются, пока интервал не закончится. При этом генерируется сообщение о количестве отброшенных сообщений. По умолчанию: 10 000 сообщений за 30 секунд.Интервал времени для
RateLimitIntervalSecможет быть задан в:s,min,h,ms,us. Чтобы выключить ограничение скорости, установите значение0.Примечание
Если служба сама устанавливает ограничения скорости через
LogRateLimitIntervalSecилиLogRateLimitBurstвsystemd.exec, тогда эти значения будут переопределять указанные в этом разделе настройки.RuntimeMaxUse— максимальный объeм хранимого временного журнала (volatile). Возможные значения: размер в байтах, например,100M,1G.RuntimeKeepFree— минимально допустимый объeм свободного места на диске для хранения временного журнала. Возможные значения: размер в байтах, например,100M,1G.RuntimeMaxFileSize— максимальный размер одного файла временного журнала. Возможные значения: размер в байтах, например,100M,1G.RuntimeMaxFiles— максимальное количество временных файлов журнала. Возможные значения: целое число.MaxLevelStore,MaxLevelSyslog,MaxLevelKMsg,MaxLevelConsole,MaxLevelWall— максимальные уровни логирования сообщений, которые будут сохранятся в журнал и перенаправляться в системный журналsyslog, буфер журнала ядраkmsg, в консоль или на стену.Возможные значения (в скобках указаны эквивалентные цифровые значения):
emerg(0);alert(1);crit(2);err(3);warning(4);notice(5);info(6);debug(7).
ForwardToSyslog— перенаправление сообщения системного журнала вsyslog. Возможные значения:yesилиno. По умолчанию:no.ForwardToKMsg— перенаправление сообщения системного журнала в буфер журнала ядраkmsg. Возможные значения:yesилиno. По умолчанию:yes.ForwardToConsole— перенаправление сообщения системного журнала в консоль. Возможные значения:yes,noилиjournal. По умолчанию:no.ForwardToWall— перенаправление сообщения системного журнала на стену. Возможные значения:yesилиno. По умолчанию:yes.TTYPath— путь к терминалу, на который будут отправляться сообщения. Возможные значения: путь к терминалу, например,/dev/console.
Пересылка событий журнала в демоны syslog#
События журнала могут быть переданы другому демону ведения журнала двумя способами:
Немедленная пересылка сообщений в сокет
/run/systemd/journal/syslog, откуда их может прочитать традиционный демонsyslog. Управляется параметромForwardToSyslog.Использование демона
syslogв роли клиента журнала, который считывает сообщения из файлов журнала аналогично тому, как это делаетjournalctl. Этот подход позволяет демону ведения журнала, который запускается только после завершения загрузки, получить доступ ко всем сообщениям с момента старта системы, включая структурированные метаданные. Важно отметить, что этот метод работает только если события сохраняются в файле журнала, и потому он недоступен при использованииStorage=none. Обычно второй метод используется традиционными демонамиsyslog, для которых актуален параметрStorage=, а неForwardToSyslog.
Дополнительная информация#
Дополнительную информацию можно получить, выполнив команду:
man journald.conf