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

Фильтрация журналов 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);};

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

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

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

HTH