rsyslogd는 때때로 dmesg의 초기 비트를 /var/log/syslog에 쓰지 않습니다.

rsyslogd는 때때로 dmesg의 초기 비트를 /var/log/syslog에 쓰지 않습니다.

나는 Ubuntu 16.04.7 LTS 를 실행하는 Linux 컴퓨터를 가지고 있으며 rsyslogd.rsyslogddmesg/var/log/syslog

따라서 명목상 에서는 "시작" 메시지가 표시되고 나중에 에서 검색할 수 있는 커널 메시지가 /var/log/syslog표시될 것으로 예상됩니다 . 첫 번째 커널 메시지가 0.0000초의 상대 시간에 어떻게 시작되는지 확인하세요.rsyslogddmesg

$ cat /var/log/syslog
... 
rsyslogd: [origin software="rsyslogd" swVersion="8.16.0" x-pid="4970" x-info="http://www.rsyslog.com"] start
...
kernel: [    0.000000] Booting Linux on physical CPU 0x0

때때로 를 보면 /var/log/syslog첫 번째 커널 메시지가 40초 이상 후에 시작된다는 것을 알 수 있습니다.

$ cat /var/log/syslog
... 
rsyslogd: [origin software="rsyslogd" swVersion="8.16.0" x-pid="4970" x-info="http://www.rsyslog.com"] start
...
kernel: [   45.829155] IRQ6 no longer affine to CPU4

즉시 살펴보면 dmesg"물리적 CPU 0x0에서 Linux 부팅" 메시지가 누락된 것을 볼 수 있습니다.

$ dmesg | head -n1
kernel: [    0.000000] Booting Linux on physical CPU 0x0

이 모든 것이 나에게 그런 느낌을 주게 만든다일부왜냐하면 rsyslogd때때로 커널 메시지의 첫 번째 비트를 기록하지 않는 경쟁 조건이 발생하기 때문입니다. 하지만 이 문제를 해결하는 방법을 모르겠습니다. 이 문제를 심층적으로 해결하는 방법에 대한 지침을 얻고 싶습니다.

답변1

auditd관심 있는 파일에 액세스하는 시기를 추적하는 의 도움으로 이 문제를 해결할 수 있었습니다 . 간단히 말해서, 그들 rsyslog과 나는 logd둘 다 그것을 활성화했고 둘 다 읽고 싶어했습니다 /proc/kmsg. 그러나 @JamesThomasMoon이 지적했듯이 /proc/kmsg누군가 읽은 후에 지워졌습니다. 그래서 내 시스템은 때때로 도착 rsyslogd여부 에 따라 시스템 로그를 잃습니다 .logd/proc/kmsg

이 문제를 해결하기 위해 취한 대략적인 단계는 다음과 같습니다.

  1. 평소대로 auditd설치하십시오 .apt-get
  2. 이름이 지정된 auditd규칙 을 추가합니다 .proc_kmsg"누군가 이 글을 읽을 때마다 /proc/kmsg메모해 두세요".
$ cat /etc/audit/rules.d/foobar.rule
-w /proc/kmsg     -p r    -k proc_kmsg
  1. 추가된 규칙을 로드하여 적용합니다.
$ augenrules --load
  1. 시스템을 다시 시작하십시오.
  2. 로그를 읽고 auditd무엇이 액세스를 시도했는지 확인하세요 /proc/kmsg.
$ ausearch -k proc_kmsg --interpret
  1. /usr/sbin/rsyslogd내 경우에는 읽기 시도를 나타내는 줄이 있고 읽기 시도를 /proc/kmsg나타내는 또 다른 줄이 있음을 확인했습니다 . 저는 활성화할 생각이 전혀 없었기 때문에 그에 따라 비활성화 했습니다 ./sbin/logd/proc/kmsgrsyslogdlogdlogd
type=PROCTITLE msg=audit(05/30/23 18:10:50.266:28) : proctitle=/usr/sbin/rsyslogd -n 

그리고

type=PROCTITLE msg=audit(05/30/23 18:10:50.846:32) : proctitle=/sbin/logd 

관련 정보