Фильтрация логов dpkg в syslog-ng

Фильтрация логов dpkg в syslog-ng

Я новичок в syslog-ng, и я настраиваю syslog-ng, где я получаю журналы syslog, auth.logи dpkg.log. Хотя я смог получить журналы для syslogи auth.log, но я не могу записать dpkgжурналы в отдельный файл, и он записывается как в dpkgфайлы журналов, так и в syslogфайлы журналов. Файл конфигурации для сервера выглядит следующим образом:

options {
    create_dirs(yes);
    owner(root);
    group(root);
    perm(0640);
    dir_owner(root);
    dir_group(root);
    dir_perm(0750);
};

source s_dl {
   network (
   transport("tcp")
   port(3993)
);
};

filter f_dpkg{
    tags("dpkg");
};

destination d_host-specific {

  file("/var/log/servers/$HOST/$YEAR/$MONTH/$HOST-$YEAR-$MONTH-$DAY.log");
};

destination d_syslog {
        file("/var/log/servers/$HOST/$YEAR/$MONTH/$HOST-$YEAR-$MONTH-$DAY-syslog.log");
};

destination d_dpkg {
    file("/var/log/servers/$HOST/$YEAR/$MONTH/$HOST-$YEAR-$MONTH-$DAY-dpkg.log");
};

log {
    source(s_dl);
    filter(f_auth);
    destination(d_host-specific);
};

log {
    source(s_dl);
    filter(f_syslog3);
    destination(d_syslog);
 };

log{
    source(s_dl);
    filter(f_dpkg);
    destination(d_dpkg);
};

Файл конфигурации для клиента syslog-ng выглядит следующим образом:

 source s_dpkg {
   file('/var/log/dpkg.log'); tags('dpkg'));
 };
 destination d_net { tcp("192.168.48.15" port(3993)); };
 filter f_tag { tags("dpkg"); };
 log { source(s_src); filter(f_auth); destination(d_net);};
 log { source(s_src); filter(f_syslog3); destination(d_net);};
 log { source(s_dpkg); filter(f_test); destination(d_net);};

Может ли кто-нибудь указать мне, где моя ошибка или как правильно получить подробности. Примечание: мне нужно использовать один и тот же порт для приема всех журналов одного хоста, так как я не могу продолжать добавлять новые порты для приема разных журналов с одной и той же машины.

решение1

Проблема в том, что тег, который ваш клиент добавляет к сообщениям dpkg, не передается на сервер (поскольку он не является частью исходного сообщения).

Также мне кажется, что вся эта маркировка нужна, потому что оригинальные логи dpkg не заполняют поле PROGRAM сообщений syslog. Так что самый простой способ решить проблему IMHO:

НТН

Связанный контент