
Я не совсем понимаю переадресацию из Journald в Rsyslog.
В принципе, я понял это так, что «конвейер» выстроен следующим образом:
Ядро регистрирует данные через printk() → /proc/kmesg ← rsyslog → записывает данные в файл журнала в соответствии с правилами в rsyslog.conf
Журналы пользовательского пространства → /dev/log ← rsyslog → записывает в файл журнала в соответствии с правилами в rsyslog.conf
В результате создаются различные файлы журналов, такие как /var/log/syslog и т. д.
Как и в фрагменте rsyslog.conf, сообщения от объекта «user» также записываются в syslog и, следовательно, сохраняются дважды, верно?
#
# First some standard log files. Log by facility.
#
auth,authpriv.* /var/log/auth.log
*.*;auth,authpriv.none -/var/log/syslog
#cron.* /var/log/cron.log
daemon.* -/var/log/daemon.log
kern.* -/var/log/kern.log
lpr.* -/var/log/lpr.log
mail.* -/var/log/mail.log
user.* -/var/log/user.log
Пока все ясно, если я правильно понял.
Однако /dev/log, похоже, связан с
$ ls -lah /dev/log
lrwxrwxrwx 1 root root 28 Apr 15 16:30 /dev/log -> /run/systemd/journal/dev-log
Почему это?
Возвращаясь к моему настоящему вопросу. Откуда Journald берет логи? Я знаю только systemd-cat. Или также из /dev/log // /run/systemd/journal/dev-log?
Journald пересылает журналы в syslog (стандарт в Debian согласноhttps://manpages.debian.org/testing/manpages-de/journald.conf.5.de.html). Разве не следует дублировать каждое сообщение в системном журнале?
Чтобы завершить цикл, скажу, что я нахожусь на этом этапе, поскольку планирую среду управления журналами и столкнулся с вопросом, откуда брать журналы.
Заранее благодарю вас и надеюсь, что вы сможете мне помочь.