Возникла у меня тут проблема с моим домашним роутером. Мой 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.
Ставим адресом сервера адрес нашего сервера (что логично) порт указываем 514, добавляем галочку BSD-syslog. При желании можно выбрать facility поинтереснее, но это не обязательно.
После этого остается сделать rules, определяющие, что же мы отправляем на удаленный сервер. У меня — вот так, но тут уже надо исходить из собственных потребностей.
На этом все, теперь логи Mikrotik отправляются на домашний сервер, где их можно спокойно посмотреть в любой момент.