Home » Mikrotik » Mikrotik логирование на удаленный сервер rsyslog

Mikrotik логирование на удаленный сервер rsyslog

Возникло желание собирать логи с роутера Mikrotik. Была нужна информация о подключенных по pptp абонентах и логи firewall для настройки. По-умолчанию, Mikrotik пишет все логи в лог журнал, который можно просмотреть через winbox. Стандартно, там хранятся последние 100 строк лога.

Если у вас есть желание научиться работать с роутерами микротик и стать специалистом в этой области, рекомендую по программе, основанной на информации из официального курса MikroTik Certified Network Associate. Курс стоящий, все подробности читайте по ссылке.

Данная статья является частью единого цикла статьей про Mikrotik.

Mikrotik logging

Настраиваем удаленный сервер rsyslog

У меня в хозяйстве имелся сервер Debian. Решил хранить логи с микротиков именно на нем. В составе Debian уже имеется сервис сбора логов с удаленных источников rsyslog. Необходимо только включить в нем необходимый функционал. Правим файл /etc/rsyslog.conf:

Раскомментируем строки

# provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514

чтобы получать логи по UDP, либо

# provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514

чтобы получать логи по TCP

И в секцию RULES добавим несколько строк для удобного хранения файлов логов от разных удаленных источников:

# Зададим шаблон создания имен файлов (на основании IP адреса клиента)
$template FILENAME,"/var/log/!remote/%fromhost-ip%/syslog.log"
# Укажем сохранять сообщения от любого источника (*) с любым приоритетом (*) в файл, заданный шаблоном
# Например, клиенты (10.0.0.2,10.0.0.3...) будут раскладываться в соответствующие каталоги /var/log/10.0.0.2/syslog.log
 *.* ?FILENAME

Перезапускаем rsyslog для применения настроек:

/etc/init.d/rsyslog restart

Теперь наш сервер готов принимать логи с удаленных источников. Хранить он их будет в папке /var/log/!remote Для каждого источника будет создана папка с именем IP адреса этого источника.

Настраиваем пересылку логов в Mikrotik

Теперь настраиваем в роутере хранение логов на удаленном сервере. Для этого заходим в раздел System -> Logging, выбираем закладку Actions, два раза щелкаем по строчке remote. Открывается окно настроек. В нем вводим адрес удаленного сервера сбора логов. Порт на свое усмотрение либо оставляем по-умолчанию, либо меняем на свой. Больше ничего добавлять не надо.

настройка логов в mikrotik

Дальше в разделе Rules создаем необходимое правило хранения:

Правила для логов в mikrotik

Все готово. Теперь все наши логи будут храниться на удаленном сервере. Необходимо не забыть настроить ротацию логов, дабы в один прекрасный день они не заняли все свободное место.

запись логов с mikrotik в rsyslog

Если вы используете ELK Stack для централизованного сбора логов, то у меня есть статья по отправке логов mikrotik в elk stack.

Напоминаю, что данная статья является частью единого цикла статьей про Mikrotik.

Помогла статья? Есть возможность отблагодарить автора

Рекомендую полезные материалы по схожей тематике:

Онлайн курсы по Mikrotik

Если у вас есть желание научиться работать с роутерами микротик и стать специалистом в этой области, рекомендую пройти курсы по программе, основанной на информации из официального курса MikroTik Certified Network Associate. Помимо официальной программы, в курсах будут лабораторные работы, в которых вы на практике сможете проверить и закрепить полученные знания. Все подробности на сайте . Стоимость обучения весьма демократична, хорошая возможность получить новые знания в актуальной на сегодняшний день предметной области. Особенности курсов:
  • Знания, ориентированные на практику;
  • Реальные ситуации и задачи;
  • Лучшее из международных программ.

Автор Zerox

Zerox
Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству.

8 комментариев

  1. Аватар
    Владимир

    Добрый день.
    Настроил сбор логов в сети 192.168.65.0/24 все прекрасно работает. Так же имеется микротик в сети другого офиса 192.168.70.0/24, впн туннел настроен, пинги идут. Но логи не отправляются на сервер rsyslog 192.168.65.93. Не подскажете в чем может быть причина?

    • Zerox

      В чем угодно :) Так разве скажешь. Настройки firewall в первую очередь проверяйте. Дальше в rsyslog смотрите, нет ли там ограничение на прием по ip адресам.

      • Аватар
        Владимир

        В фаерволе разрешающие входящие правила для порта и ip были добавлены, получилось только после того, как добавил правильно в NAT (chain dstnat, dst.port 514, action=netmap 192.168.65.93 to ports 514). Я думал, что и без него микротик должен отправлять пакеты.

  2. Аватар

    Можно ли копить статистику на самом роутере и выкачивать её на внешний ресур только по необходимости, раз в неделю например? Или просматривать логи прямо на роутере?

  3. Аватар

    Добрый день!
    Подскажите поднял на CentOS Syslog в настройках указал только две строки:
    $template FILENAME,»/var/log/!remote/%fromhost-ip%/syslog.log»
    *.* ?FILENAME
    В Mikrotik указал какие логи слать на удаленный сервер и тишина ничего не падает…514 порт на CentOs открыт не подскажите куда копать?

Добавить комментарий

Ваш e-mail не будет опубликован.

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.