rsyslog 전달 혼란에 저널링됨

rsyslog 전달 혼란에 저널링됨

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). 모든 메시지가 syslog에 중복되어서는 안 되나요?

루프를 종료하려면 로그 관리 환경을 계획 중이고 로그를 어디서 가져올 수 있는지에 대한 질문에 직면했기 때문에 이 시점에 왔습니다.

미리 감사드리며 저를 도와주실 수 있기를 바랍니다.

관련 정보