Пошаговая инструкция по настройке сервера RSYSLOG для передачи логов с RouterOS.
На стороне сервера
- Включите прием пакетов по сети в rsyslog (раскомментируйте строки).
nano /etc/rsyslog.conf
module(load="imudp")
input(type="imudp" port="514")
- Создайте конфиг записи полученных от 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
- Перезапустите rsyslog, чтобы он перечитал конфиг.
systemctl restart rsyslog
- Создайте конфиг для ротации логов.
nano /etc/logrotate.d/mikrotik
/var/log/rsyslog/*.log {
daily
rotate 14
compress
missingok
notifempty
create 640 syslog adm
postrotate
systemctl restart rsyslog
endscript
}
- Перезапустите сервис ротации логов.
systemctl restart logrotate.service
На стороне Микротика
- В 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
- В 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 будет отправлять только события, в которых все они присутствуют (таких не бывает).
