LINUX.ORG.RU
ФорумAdmin

Syslog фильтрация по тегу. [rsyslog][mikrotik]

 ,


0

1

Всем привет. Пытаюсь настроить rsyslog на прием логов от микротика в разные файлы, в зависимости от сервиса (напр. radius.log, dhcp.log, hotspot.log). настраивал rsyslog.conf так:

+192.168.108.201
:syslogtag, contains, "dhcp" /var/log/mikrotik/dhcp.log
:syslogtag, contains, "hotspot" /var/log/mikrotik/hotspot.log
:syslogtag, contains, "radius" /var/log/mikrotik/radius.log
:syslogtag, contains, "firewall" /var/log/mikrotik/firewall.log
:syslogtag, contains, "error" /var/log/mikrotik/error.log
:syslogtag, contains, "warning" /var/log/mikrotik/warning.log

Из всех файлов заполняются только dhcp и radius, это показалось мне странным, так как в логах самого микротика есть логи с тэгом hotspot и warning. Изменил rsyslog.conf на вывод всех логов от этого хоста в один файл:

+192.168.108.201
*.* /var/log/mikrotik/wifi.log
В wifi.log тоже добавляются только dhcp и radius записи. Смотрю tcpdump'ом, пакеты rsyslog с тэгом hotspot есть, в логах их не вижу. например:
08:43:27 hotspot,debug codded (172.16.0.10): RADIUS accounting request sent 
08:43:37 hotspot,debug hotspot1: new host detected 00:27:22:18:63:11/10.90.80.65 by TCP :3268 -> 94.100.184.15:80 
08:43:37 hotspot,debug hotspot1: failed to add dynamic host 00:27:22:18:63:11/10.90.80.65, ip 172.16.0.34: to-address is already used 
На интерфейс приходит, а rsyslog в лог его не пишет.

В чем может быть проблема?

Принимал логи с помощью syslog-ng. Вот какой то кусок из какого то описания:

Для агрегации, в файл /etc/syslog-ng/syslog-ng.conf нужно внести следующие изменения:

Для того что бы создавались поддиректории для логов с соответствующими правами нужно в начало, в секцию options, внести следующее:

        create_dirs (yes);
        dir_group(adm);
        dir_perm(0750);

В конце организовать приём логов извне:

### remote logs
#

source s_net { udp(ip(0.0.0.0) port(514)); };

destination d_net {
   file( "/var/log/remote/$HOST/$HOST.$FACILITY.log" template("$DATE $FACILITY $MESSAGE\n") template_escape(off) perm(0640) group(adm) );
   };

log { source(s_net); destination(d_net); };

sin_a ★★★★★
()
Ответ на: комментарий от sin_a

Боюсь мне это не поможет. Хочется реализовать на rsyslog.

peektoseen
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.