Через консоль:
/system logging action set remote bsd-syslog=yes name=remote remote=192.168.1.2 remote-port=514 src-address=192.168.1.1 syslog-facility=local0 syslog-severity=auto target=remote /system logging add action=remote disabled=no prefix="" topics=!async |
Здесь, remote - IP address сервера, на котором слушает syslog, src-address - адрес MikroTik (указывает syslog откуда пришли логи)
topics=!async - указание собирать все события, кроме async
. Чтобы не забивать память, можно указать только нужные параметры, например topics=error,system,critical
Через winbox:
Заходим в меню Logging:
Добавляем новый rule:
Добавляем action:
в конец /etc/syslog.conf
вставляем:
!* +192.168.1.1 local0.* /var/log/mt.log |
Включим в автозагрузку и укажем, что можно принимать логи с удаленного сервера.
В /etc/rc.conf/
вставляем:
syslogd_enable="YES" syslogd_flags="-a 192.168.1.1/32" |
Включим ротацию логов. В конец /etc/newsyslog.conf
вставляем:
/var/log/mt.log 600 5 100 * JC |
Создадим файл для лога:
#touch /var/log/mt.log |
Перезагружаем службу:
#killall -1 syslogd |
module(load="imudp") input(type="imudp" port="514") $template remote-incoming-logs, "/var/log/remote/%HOSTNAME%".log *.* ?remote-incoming-logs |
перезагружаем
sudo systemctl restart rsyslog |
Проверяем:
cd /var/log/remote/ |
в каталоге должны складыватсья лог файлы