Отправка логов Mikrotik на сервер

в RSYSLOG

1 мин

Отправка логов Mikrotik на сервер

Пошаговая инструкция по настройке сервера RSYSLOG для передачи логов с RouterOS.

На стороне сервера

  1. Включите прием пакетов по сети в rsyslog (раскомментируйте строки).
nano /etc/rsyslog.conf
module(load="imudp")
input(type="imudp" port="514")
  1. Создайте конфиг записи полученных от mikrotik логов в файлы (названием файла будет ip-адрес).
nano /etc/rsyslog.d/remote.conf 
$template FILENAME,"/var/log/rsyslog/%fromhost-ip%.log"
if $fromhost-ip != '127.0.0.1' then ?FILENAME
& stop
  1. Перезапустите rsyslog, чтобы он перечитал конфиг.
systemctl restart rsyslog
  1. Создайте конфиг для ротации логов.
nano /etc/logrotate.d/mikrotik
/var/log/rsyslog/*.log {
        daily
        rotate 14
        compress
        missingok
        notifempty
        create 640 syslog adm
        postrotate
            systemctl restart rsyslog
        endscript
}
  1. Перезапустите сервис ротации логов.
systemctl restart logrotate.service

На стороне Микротика

  1. В System - Logging - Actions отредактируйте "remote" (в команде не забудьте заменить ip 10.20.30.40 на адрес сервера с rsyslog).
/system logging action
set 3 cef-event-delimiter="" remote=10.20.30.40 remote-log-format=cef syslog-severity=info
  1. В System - Logging - Rules укажите типы логов, которые вы хотите отправлять на сервер.
/system logging
add action=remote topics=critical
add action=remote topics=error
add action=remote topics=warning
add action=remote topics=dhcp,info
add action=remote topics=wireless,info
add action=remote topics=system,info
add action=remote topics=account

Обратите внимание - каждый тип (topic) логов указывается в отдельном правиле. Тут работает логическое "И", т.е. если вы укажете в одном правиле все типы разом - RouterOS будет отправлять только события, в которых все они присутствуют (таких не бывает).

Туда Сюда