Я заметил, что сообщения журнала дублируются в journald и / var / log / messages в моей системе CentOS 7. Сначала я думал, что это был параметр журнала ForwardToSyslog (который по умолчанию имеет значение «да» в установленной версии), который вызвал такое поведение, но установка для него значения «нет» не имела значения.
Очевидно, что если я остановлю службу rsyslog, запись будет в / var / log / messages (и, возможно, некоторые другие журналы останавливаются, но меня беспокоит, когда я это делаю, если rsyslog регистрирует вещи, которых нет в journald.
Rsyslog регистрирует только то, что он читает из journald, или регистрирует другое тоже?
Выдержка из /etc/rsyslog.conf:
# The imjournal module bellow is now used as a message source instead of imuxsock.
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imjournal # provides access to the systemd journal
...
# Turn off message reception via local log socket;
# local messages are retrieved through imjournal now.
$OmitLocalLogging on
Из Документация Red Hat с использованием журнала
Журнал - это компонент systemd, который отвечает за просмотр и управление файлами журнала. Его можно использовать параллельно или вместо традиционного демона syslog, такого как rsyslogd.
Из Red имел документацию, взаимодействие журнала rsyslog
По умолчанию rsyslogd использует модуль imjournal в качестве режима ввода по умолчанию для файлов журнала.
Из Документация Red Hat, хранилище журналов
При включенном постоянном ведении журнала файлы журнала хранятся в / var / log / journal, что означает, что они сохраняются после перезагрузки. Затем журнал может заменить rsyslog для некоторых пользователей (но см. Введение в главу).
На основании этого я бы сказал, что rsyslog является избыточным, если включено постоянное хранилище journald и нет приложений, которые зависят от конкретных файлов и формата, создаваемых rsyslog, содержимое такое же.
Мы решили эту проблему, не создавая /var/log/journal (чтобы содержимое journalctl было эфемерным) и настроив rsyslog для хранения всего из journald в новом файле журнала. Нам часто приходится отлаживать наши развертывания после смерти, и поиск по файлам журналов (для нас, старожилов) намного проще, чем изучение нового непонятного командного языка.
:syslogtag, startswith, "systemd" /var/log/systemd.log
Мы также узнали, что файл "/etc/rsyslog.d/listen.conf", устанавливаемый systemd, является неотъемлемой частью связующего; один из наших компонентов случайно уничтожил
$IncludeConfig /etc/rsyslog.d/*.conf
, и мы ничего не получили от journald.