Mikrotik: отправляем логи на удаленную машину Наводим порядок в логировании

В данной заметке хочу с вами поделится простым рецептом передачи логов Mikrotik на удаленный сервер по протоколу syslog.
Что даст нам возможность хранить логи с нашего маршрутизатора, анализировать их и т.п.
Тем самым мы сможем оставить в логе самого Mikotik только критически значимые для нас данные, которые нам помогут быстрее разобраться с какой-либо проблемой на устройстве.
Удаленный сервер с syslog в рамках этой заметки будет использоваться FreeBSD, но если вы используете linux отличия будут небольшие в конфигурации syslog.conf или rsyslog.conf 

Syslog (англ. system log — системный журнал) — стандарт отправки и регистрации сообщений о происходящих в системе событиях (то есть создания событийных журналов), использующийся в компьютерных сетях, работающих по протоколу IP. Термином «syslog» называют как ныне стандартизированный сетевой протокол syslog, так и программное обеспечение (приложение, библиотеку), которое занимается отправкой и получением системных сообщений.wikipedia.org

Небольшая предыстория.
Организовал на маршрутизаторе Mikrotik RB3011UiAS контроллер CAPsMAN и после этого лог в Winbox стал представлять такое:
99,9% в логах стали записи о регистрации пользователей на wi-fi точках.
Можно конечно подавить логи CAPsMAN, но если будут проблемы с ним, то  будет сложно их решать без логов.
Вообщем решил вывести логи CAPsMAN на удаленную машину, по данному примеру вы сможете дальше вывести остальные нужные вам логи.
Как выше упоминал удаленный сервер с операционной системой FreeBSD.
Перед тем как начать, убедитесь, что трафик UDP на 514 порт беспрепятственно ходит с Mikrotitik в сторону нашего сервера.

  • IP адрес Mikrotik 192.168.6.2
  • IP адрес сервера 192.168.6.20

Настройку в Mikrotik будем делать в консоли (Winbox или SSH)

Создаем действие (action)

  • Где указываем, что мы используем syslog FreeBSD (bsd-syslog=yes)
  • Даем имя CapsRemote
  • Указываем адрес удаленного сервера (remote=192.168.6.20)
  • Указываем syslog-facility=local5 (Далее будем с помощью этого разбирать лог в syslog.conf)
  • Указываем цель как удаленный (target=remote)

Создаем правило (Rule)

  • Где указываем, что обрабатывать только сообщения CAPsMAN (topics=caps)
  • И применяем ранее созданное действие CapsRemote

Уберем вывод caps в общий лог Mikrotik

Узнаем ID топика info:

Запрещаем топику caps отправлять данные в info с помощью символа отрицания “!“:

Сделаем еще раз вывод топиков:

Видим, что из info исключен caps

Настраиваем syslog на прием логов Mikrotik

В начало конфигурационного файла /etc/syslog.conf вписываем следующие строки:

Где 192.168.6.2 – адрес нашего Mikrotik
Создадим директорию для нашего лога:

Перезапустим syslogd

Должен создаться лог-файл:

В логе на самом Mikrotik данная информация не дублируется, то что нам и нужно.

Настроим ротацию лога

Будем ежедневно архивировать (bz2 архив) логи, срок хранения 7 дней

Перезапустим newsyslog

Собственно все:)
Если что непонятно – оставляйте комментарии.

Оставить комментарий

avatar
  Подписаться  
Уведомление о