Title: Сбор логов с Mikrotik на удаленный syslog на OpenBSD
Author: Viva Calman
Date: 2025-06-22 00:11:33
Correction code: 175065936396629

Возникла у меня тут проблема с моим домашним роутером. Мой Mikrotik внезапно начал ребутаться без каких-либо симптомов, иногда по пять раз на дню, причем нередко перезагрузки шли одна за другой. Чтобы не затягивать интригу, сразу скажу, что скорее всего проблема была в блоке питания, который начал выдавать очень нестабильные одиннадцать вольт, иногда проваливающиеся даже ниже, при том, что одиннадцать вольт для микротика — это вообще нижний предел, на котором он соглашается работать. Замена блока питания вроде бы решила проблему, но я продолжаю наблюдать.

-UPD- Странные перезагрузки еще случаются, но вроде бы реже. Грешу в этот раз уже на перегрев — микрот повешен "брюхом кверху" и это вряд ли оптимальная позиция для того, чтобы он хорошо остужался. Тем более, сейчас лето, и в комнате у меня довольно жарко.

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

Можно было бы складывать их на внутренний диск, но он у микрота маленький. Поэтому логичным решением оказалось настроить отправку логов на удаленный сервер. А так как сервер у меня на OpenBSD (чтобы жизнь скучной не казалась), то займемся настройкой именно этой комбинации.

Вообще, все очень просто. На первом шаге на стороне сервера вносим следующие правки:

#/etc/rc.conf.local
syslogd_flags=-u

Флаг "-u" не очень безопасный, так как открывает сислог всем ветрам, но для закрытой домашней сети вполне сойдет, избавляя от остальной мороки.

Далее правим настройки сислога

#/etc/syslog.conf
++IP.ADDRESS.OF.MIKROTIK
*.*                                                     /var/log/remote
+*

Имя файла любое. Делаем touch на этот файл (syslog не создаст его автоматически), после чего рестартуем syslog:

$ doas rcctl restart syslogd

И наконец настраиваем ротацию логов:

#/etc/newsyslog.conf
/var/log/remote                         644  5     *    24     Z

Что означает, что мы ротируем лог раз в 24 часа, держим пять старых файлов, которые сжимаем с помощью gzip.

Далее настраиваем Mikrotik. Тут тоже все просто. Идем в System->Logging и там, во вкладке actions, правим секцию remote.

Screenshot-2025-06-16-002509.png

Ставим адресом сервера адрес нашего сервера (что логично) порт указываем 514, добавляем галочку BSD-syslog. При желании можно выбрать facility поинтереснее, но это не обязательно.

После этого остается сделать rules, определяющие, что же мы отправляем на удаленный сервер. У меня — вот так, но тут уже надо исходить из собственных потребностей.

Screenshot-2025-06-16-002533.png

На этом все, теперь логи Mikrotik отправляются на домашний сервер, где их можно спокойно посмотреть в любой момент.

Метки:
^HOME