![syslog-ng에 지정된 파일 소스를 읽지 못하시나요?](https://linux55.com/image/100937/syslog-ng%EC%97%90%20%EC%A7%80%EC%A0%95%EB%90%9C%20%ED%8C%8C%EC%9D%BC%20%EC%86%8C%EC%8A%A4%EB%A5%BC%20%EC%9D%BD%EC%A7%80%20%EB%AA%BB%ED%95%98%EC%8B%9C%EB%82%98%EC%9A%94%3F.png)
syslog-ng-3.5 및 syslog-ng-3.6 버전에서 syslog-ng는 사용하지 않더라도 기본적으로 /dev/kmsg에서 읽는다는 것을 발견했습니다.
file ("/proc/kmsg" program_override("kernel: "));
in source{ },
Docker 컨테이너를 사용할 때 모든 컨테이너가 /dev/kmsg를 읽는 것을 발견했는데, 이로 인해 몇 가지 문제가 발생했습니다.
그렇다면 구성에서 /dev/kmsg를 읽지 않도록 어떻게 지정합니까?
답변1
아마도 구성 어딘가에서 system() 소스를 사용하고 있을 것입니다. 이 소스는 플랫폼별 소스를 자동으로 읽고 커널 버전이 3.5 이상인 경우 Linux에서 /dev/kmsg를 읽습니다(참조:https://www.balabit.com/documents/syslog-ng-ose-3.6-guides/en/syslog-ng-ose-guide-admin/html/configuring-source-system.html).
필요하지 않다고 확신하는 경우 구성에서 system() 소스를 제거하세요.