Назад | Перейти на главную страницу

журналы syslog-ng, отправленные в несколько пунктов назначения

Я получаю удаленные системные журналы 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