mirror of
https://github.com/phusion/baseimage-docker.git
synced 2026-03-26 12:29:07 +00:00
Correct translation of syslog-ng driver system() on Docker
According to [the stock Ubuntu 16.04 config](https://github.com/hyperknot/baseimage16/blob/1.0.1/image/services/syslog-ng/syslog-ng.conf.original#L21), the default source driver is `system()`, that is documented in [the syslog-ng 3.5 official documentation](https://www.balabit.com/documents/syslog-ng-ose-3.5-guides/en/syslog-ng-ose-guide-admin/html-single/index.html#configuring-source-system) on Linux as `unix-dgram("/dev/log");` with some `/proc/kmsg` involvement if kernel "is version 3.5 or newer". `/proc/kmsg` causes trouble on Docker hence using syslog-ng 3.5 on Docker `unix-dgram("/dev/log")` shall be used (not `unix-stream("/dev/log");`). If using syslog-ng [3.6](https://www.balabit.com/documents/syslog-ng-ose-3.6-guides/en/syslog-ng-ose-guide-admin/html-single/index.html#configuring-source-system) or [newer](https://www.balabit.com/documents/syslog-ng-ose-3.9-guides/en/syslog-ng-ose-guide-admin/html-single/index.html#configuring-source-system) on Docker, `system()` shall be able to be used. But [Ubuntu 16.04 is at syslog-ng 3.5](http://packages.ubuntu.com/xenial/syslog-ng-core) so `system()` cannot be used. See also https://github.com/phusion/baseimage-docker/issues/277
This commit is contained in:
@@ -18,7 +18,7 @@ options { chain_hostnames(off); flush_lines(0); use_dns(no); use_fqdn(no);
|
||||
# Logs may come from unix stream, but not from another machine.
|
||||
#
|
||||
source s_src {
|
||||
unix-stream("/dev/log");
|
||||
unix-dgram("/dev/log");
|
||||
internal();
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user