커널 링 버퍼는 rsyslog와 관련하여 어디에 있습니까?


9

rsyslog커널 링 버퍼의 상단에 단지 추상화 계층은? 아니면 커널 링 버퍼 자체 엔터티와 rsyslog상호 작용이 다른 "응용 프로그램"과 상호 작용합니까?

logs  syslog  dmesg 

답변:


6

을 포함하여 다양한 문서 ( man dmesg)를 "커널 링 버퍼"라고 부르지 만 "링 버퍼"는 일반적인 용어이며 커널도 링을 사용하기 때문에 커널 로그 버퍼로 참조하는 것이 좋습니다 완전히 관련되지 않은 다양한 것들에 대한 버퍼. "printk buffer"도 커널 공간 기능을 사용한 후에 적합합니다.

어쨌든, 커널 공간에 상주하며를 통해 읽기 인터페이스가 제공되고를 통해 /proc/kmsg읽기-쓰기 인터페이스 가 제공 됩니다 /dev/kmsg. 따라서 루트로 가면 :

echo "Hello Kernel!" > /dev/ksmg

그렇다면 당신은 그것을 볼 수 있습니다 cat /dev/ksmg(그러나 아마도 어떤 로그에서도 이것이 나타나지 않을 것입니다-가능한 이유로 아래의 Matthew Phipps의 의견을보십시오). 이것은 원시 출력이며 dmesg로그 파일에서 보거나 로그 파일에서 보는 것과 정확히 같지 않습니다 . 조금이 문서의 비트 커널 소스와 함께 제공되는이 약은. (r) syslog가 실행중인 경우 ( /proc/kmsg와 동일하지 않음)를 읽는 /dev/ksmg것이 좋습니다.

Rsyslog는 리눅스에서 일반적으로 사용되는 많은 syslog 구현 중 하나입니다 . 이것들은 /proc/ksmg소켓을 통해 다른 userland 프로세스로부터 커널 메시지 와 메시지 를 소싱하는 userland 어플리케이션입니다 /dev/log.


2
rsyslog에는 기본적으로 $ KLogPermitNonKernelFacility가 해제되어 있으며,이 옵션을 설정하지 않으면 / proc / kmsg의 비 커널 메시지가 rsyslog에 의해 무시됩니다. 예를 들어, Upstart는 커널이 아닌 기능으로 / proc / kmsg에 로그하기 때문에 실제로는 혼란 스러울 수 있습니다.
Vanessa Phipps
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.