Я получаю удаленные системные журналы nginx, идущие в / var / log / nginx и / var / log / splunk на моем сервере syslog-ng. Как мне заставить его идти только в / var / log / nginx?
#/etc/syslog-ng/syslog-ng.conf
source s_sys {
system();
internal();
udp(ip(0.0.0.0) port(514));
};
destination d_splunk { file("/var/log/splunk/$HOST-$PROGRAM-$YEAR-$MONTH-$DAY.log"); };
destination d_nginx { file("/var/log/nginx/$HOST-$PROGRAM-$YEAR-$MONTH-$DAY.log"); };
filter f_nginx { program(nginx); };
filter f_default { level(info..emerg) and
not (facility(mail)
or facility(authpriv)
or facility(cron)); };
log { source(s_sys); filter(f_nginx); destination(d_nginx); };
log { source(s_sys); destination(d_splunk); };
используйте флаг final в пути к журналу nginx:
log { source(s_sys); filter(f_nginx); destination(d_nginx); flags(final); };
Подробнее см. https://syslog-ng.com/documents/html/syslog-ng-ose-latest-guides/en/syslog-ng-ose-guide-admin/html/reference-logflags.html