Меню

Log mikrotik настройка сервера



Статистика посещений на Mikrotik с помощью WebProxy-Log

Очень часто руководители компаний просят предоставить статистику посещений сайтов своими сотрудниками. Этот вопрос легко решается при наличии развитой , путем установки дополнительного прокси сервера и организации на нем сбора статистики. Но что делать компаниям, которые не имеют или не готовы раздувать свою инфраструктуру «еще одной единицей» техники? В этой статье мы покажем пример использования сил только одного маршрутизатора mikrotik для решения задачи по сбору статистики посещений. Отчеты мы предлагаем формировать с помощью небольшой утилиты под windows — .

Далее по шагам:
— Открыть свой Mikrotik через Winbox.
— Зайти в IP => Web Proxy.
— Вкладка General.
— Установить галку рядом с Enabled.
— Указать порт 8080.
— Параметр Cache Administrator: на webmaster.
— Параметр Max. Cache Size: на unlimited.
— Параметр Max Cache Object Size: на 2048.
— Установить галку рядом с Cache On Disk.
— Параметр Max. Client Connections: на 600.
— Параметр Max. Server Connections: на 600.
— Параметр Max Fresh Time: оставить 3d 00:00:00.
— Параметр Cache Hit DSCP (TOS): оставить 4.
— Параметр Cache Path: на .

Нажимаем OK.
— Далее заходим в System => Logging.
— Вкладка Action.
— Нажимаем на +.
— Name: изменяем на WebProxyLog.
— Type: изменяем на remote.
— Remote Address: пишем адрес компьютера на котором установлена программа .
— Remote Port: оставляем 514 (порт udp).
— Нажимаем OK.

После чего наша настройка отразится во вкладке Action.

Переходим во вкладку Rules

— Нажимаем на +.
— Topics: выбираем .
— Prefix: пишем Proxy.
— Action: выбираем WebProxyLog.
— Нажимаем OK.

mikrotik при формировании логов делает очень много записей которые нам не нужны, мы добавим исключения. Добавим аналогично правило со значением! debug (знак! определяет исключение).
После чего наша настройка отразится во вкладке Rules.

Теперь открываем New Termenal и пишем правило для NAT:
— /ip firewall nat
add action=redirect chain=dstnat comment=«Redirect port 80 request to Web Proxy» disabled=no =80 protocol=tcp =8080
— Открываем UDP порт под номером 514.
— chain=dstnat protocol=udp =514 action= = =514

Настройка Mikrotik завершена.
— Скачиваем программу .
https://code.google.com/p//
— Устанавливаем и запускаем программу.
— В окне General settings указываем IP address: (адрес компьютера).
— UDP Port: указываем 514.
— Buffer: указываем 400.
— Write log to: Указываем путь на каталог, где будет лежать файл журнала.
— Import from: Указываем путь на каталог откуда будет импортироваться файл журнала.
— Мои пути:
D:\Documents and Settings\god\Рабочий стол\
D:\Documents and Settings\god\Рабочий стол\New Folder
— DB location: этот путь мы оставляем по умолчанию.
— Устанавливаем галочку на Use insecure import.
— Устанавливаем галочку на Optimize database after log import.
— Нажимаем Apply.

— Далее заходим в File => Import logs.
— Снимаем галочку на Archive imported *.log files.
— Выбираем путь к файлу.
— Нажимаем Import.
— Соглашаемся со всем.

— Выбираем IP адрес в Select user:
— Выбираем дату с какого по какое в Select date range:
— Нажимаем кнопку Generate.

Получаем статистику, как показано ниже:

Источник

07.09.2018 — Zabbix + rsyslog – мониторинг логов MikroTik

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

Установка и настройка rsyslog

Итак, у нас есть Zabbix сервер который находится в облаке, он выступает PPTP сервером, и он же будет rsyslog сервером.

Будем считать, что Zabbix у вас уже функционирует и мониторит узлы, в том числе и маршрутизатор MikroTik по SNMP. Для начала идем на Zabbix сервер и проверим установлен ли у нас rsyslog командой «ls /etc/rsys*».

Видим, что его конфигурационный файл присутствует, значит он установлен. На многих версиях ubuntu он уже предустановлен, но бывают случаи, как было у меня что его нет, тогда его устанавливаем командой «apt install rsyslog». После установки переходим в конфигурационный файл «nano /etc/rsyslog.conf» и настроим прием удаленных логов на наш сервер.

module(load=»imudp») — модуль для приема логов по udp.

input(type=»imudp» port=»514″) –udp порт который бут слушать наш rsyslog.

В принципе этого достаточно для приема удаленных логов, то тогда все устройства будут писать логи в один файл, и с ним будет очень сложно работать, не говоря уже о том, что к Zabbix прикрутить такой мониторинг будет невозможно. Для этого в rsyslog создадим правило фильтрации по IP адресам. То есть каждое устройство будет писать логи в свой отдельный файл. Для этого добавим в конец конфига rsyslog следующую строку, «if $fromhost-ip contains ‘192.168.155.16’ then /var/log/mikrotik.log». Здесь говориться если у хоста ip 192.168.155.16 то его логи записываем в файл /var/log/mikrotik.log.

Теперь нам осталось перезагрузить rsyslog «/etc/init.d/rsyslog restart» и перейти к маршрутизатору MikroTik для настройки отправки логов.

Настройка Mikrotik для отправки логов на syslog сервер

Как видно по схеме сети наш роутер уже подключен по PPTP к Zabbix серверу, и отправлять логи мы будем на серый адрес VPN-сети 192.168.155.1. Их отправка настраивается в «System->logging»

На вкладке Rules видим типы сообщений в логах:

А на против в столбце Action куда они пишутся, открываем каждый тип сообщение и меняем у него Action на remote. Далее переходим на вкладку Action и там указываем в строчке remote куда слать логи.

Все на этом настройка и отправка логов с микротика на сервер rsyslog завершена, можем проверить создался и наполняется ли файл данными.

Читайте также:  Настройка nap на radius сервере

Видим файл создался, теперь посмотрим его содержимое.

Видим нижняя строчка как раз появилось, когда я менял место назначения логов.

Настройка отображения логов в Zabbix

Мы настроили rsyslog теперь можем собирать централизованно все логи с устройств в разные файлы и работать с ними, когда нам будет это нужно. Но согласитесь читать файлы очень неудобно. Тем более если у нас есть Zabbix то было бы глупо не прикрутить все это «добро» к нему, чтобы пользоваться единым web интерфейсом, да и триггеры к логам тоже было бы неплохо использовать. Переходим в настройки узла сети Zabbix сервера, так как логи пишутся на диск заббикса, то и добавлять элементы данных придется на нем, да это не очень эстетично, но лучшего я пока не придумал.

  1. Имя элемента данных (называем его по имени клиента).
  2. Тип Zabbix агент (активный) это обязательно.
  3. Ключ — log[/var/log/mikrotik.log. 100,skip,,] – указываем путь к файлу который будем мониторить и считывать с него данные.
  4. Тим информации – Журнал лог.

Видим все работает, все приходит.

Настройка триггера на события в лог-файле маршрутизатора MikroTik

Теперь сделаем самую полезную вещь, это настроим триггер на события этого журнала. Для чего это нужно? Таким методом можно оперативно узнать, что в сети появилось кольцо, изменения конфигурации, авторизацию пользователей да все что угодно. Для примера настроим сработку триггера на изменения в конфигурации.

Идем в настройку узла «Zabbix Server» и создаем там триггер с параметрами как указаны на картинке:

  1. Имя триггера
  2. Классификатор важности события
  3. Выражение добавляем, как указано в пунктах 3-3.4. Ищем слово «changed» в самых новых данных, приходящих в лог файл и если находим, то триггер срабатывает.
  4. Запрещаем авто закрытие проблемы.

Сохраняем и проверяем работу, отключим и включим правило в Firewall

Видим пришло события и сработал триггер

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

Источник

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Помогла статья? Подписывайся на telegram канал автора

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

Источник

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

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

Небольшая предыстория.
Организовал на маршрутизаторе 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)
Читайте также:  Настройка своего dns сервера на vps

Создаем правило (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

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

Источник

Manual:System/Log

Applies to RouterOS: v3, v4 +

Contents

Summary

RouterOS is capable of logging various system events and status information. Logs can be saved in routers memory (RAM), disk, file, sent by email or even sent to remote syslog server (RFC 3164).

Log messages

Sub-menu level: /log

All messages stored in routers local memory can be printed from /log menu. Each entry contains time and date when event occurred, topics that this message belongs to and message itself.

If logs are printed at the same date when log entry was added, then only time will be shown. In example above you can see that second message was added on sep/15 current year (year is not added) and the last message was added today so only the time is displayed.

Note: print command accepts several parameters that allows to detect new log entries, print only necessary messages and so on. For more information about parameters refer to scripting manual

For example following command will print all log messages where one of the topics is info and will detect new log entries until Ctrl+C is pressed

If print is in follow mode you can hit ‘space’ on keyboard to insert separator:

Logging configuration

Sub-menu level: /system logging

Property Description
action (name; Default: memory) specifies one of the system default actions or user specified action listed in actions menu
prefix (string; Default: ) prefix added at the beginning of log messages
topics (account, bfd, caps, ddns, dns, error, gsm, info, iscsi, l2tp, manager, ntp, packet, pppoe, radvd, rip, script, smb, sstp, system, timer, vrrp, web-proxy, async, bgp, certificate, debug, dot1x, dude, event, hotspot, interface, isdn, ldp, mme, ospf, pim, pptp, raw, route, sertcp, snmp, state, telephony, upnp, warning, wireless, backup, calc, critical, dhcp, e-mail, firewall, igmp-proxy, ipsec, kvm, lte, mpls, ovpn, ppp, radius, read, rsvp, simulator, ssh, store, tftp, ups, watchdog, write; Default: info) log all messages that falls into specified topic or list of topics.

‘!’ character can be used before topic to exclude messages falling under this topic. For example, we want to log NTP debug info without too much details:

/system logging add topics=ntp,debug,!packet

Actions

Sub-menu level: /system logging action

Property Description
bsd-syslog (yes|no; Default: ) whether to use bsd-syslog as defined in RFC 3164
disk-file-count (integer [1..65535]; Default: 2) specifies number of files used to store log messages, applicable only if action=disk
disk-file-name (string; Default: log) name of the file used to store log messages, applicable only if action=disk
disk-lines-per-file (integer [1..65535]; Default: 100) specifies maximum size of file in lines, applicable only if action=disk
disk-stop-on-full (yes|no; Default: no) whether to stop to save log messages to disk after the specified disk-lines-per-file and disk-file-count number is reached, applicable only if action=disk
email-start-tls (yes | no; Default: no) Whether to use tls when sending email, applicable only if action=email
email-to (string; Default: ) email address where logs are sent, applicable only if action=email
memory-lines (integer [1..65535]; Default: 100) number of records in local memory buffer, applicable only if action=memory
memory-stop-on-full (yes|no; Default: no) whether to stop to save log messages in local buffer after the specified memory-lines number is reached
name (string; Default: ) name of an action
remember (yes|no; Default: ) whether to keep log messages, which have not yet been displayed in console, applicable if action=echo
remote (IP/IPv6 Address[:Port]; Default: 0.0.0.0:514) remote logging server’s IP/IPv6 address and UDP port, applicable if action=remote
src-address (IP address; Default: 0.0.0.0) source address used when sending packets to remote server
syslog-facility (auth, authpriv, cron, daemon, ftp, kern, local0, local1, local2, local3, local4, local5, local6, local7, lpr, mail, news, ntp, syslog, user, uucp; Default: daemon)
syslog-severity (alert, auto, critical, debug, emergency, error, info, notice, warning; Default: auto) Severity level indicator defined in RFC 3164:

  • Emergency: system is unusable
  • Alert: action must be taken immediately
  • Critical: critical conditions
  • Error: error conditions
  • Warning: warning conditions
  • Notice: normal but significant condition
  • Informational: informational messages
  • Debug: debug-level messages
target (disk, echo, email, memory, remote; Default: memory) storage facility or target of log messages

  • disk — logs are saved to the hard drive more>>
  • echo — logs are displayed on the console screen
  • email — logs are sent by email
  • memory — logs are stored in local memory buffer
  • remote — logs are sent to remote host

Note: default actions can not be deleted or renamed.

Topics

Each log entry have topic which describes the origin of log message. There can be more than one topic assigned to log message. For example, OSPF debug logs have four different topics: route, ospf, debug and raw.

List of Facility independent topics

Topic Description
critical Log entries marked as critical, these log entries are printed to console each time you log in.
debug Debug log entries
error Error messages
info Informative log entry
packet Log entry that shows contents from received/sent packet
raw Log entry that shows raw contents of received/sent packet
warning Warning message.

Topics used by various RouterOS facilities

Topic Description
account Log messages generated by accounting facility.
async Log messages generated by asynchronous devices
backup Log messages generated by backup creation facility.
bfd Log messages generated by Manual:Routing/BFD protocol
bgp Log messages generated by Manual:Routing/BGP protocol
calc Routing calculation log messages.
caps CAPsMAN wireless device management
certificate Security certificate
dns Name server lookup related information
ddns Log messages generated by Manual:Tools/Dynamic DNS tool
dude Messages related to the Dude server package Manual:The_Dude tool
dhcp DHCP client, server and relay log messages
e-mail Messages generated by Manual:Tools/email tool.
event Log message generated at routing event. For example, new route have been installed in routing table.
firewall Firewall log messages generated when action=log is set in firewall rule
gsm Log messages generated by GSM devices
hotspot Hotspot related log entries
igmp-proxy IGMP Proxy related log entries
ipsec IPSec log entries
iscsi
isdn
interface
kvm Messages related to the KVM virtual machine functionality
l2tp Log entries generated by Manual:Interface/L2TP client and server
lte Messasges related to the LTE/4G modem configuration
ldp Manual:MPLS/LDP protocol related messages
manager Manual:User_Manager log messages.
mme MME routing protocol messages
mpls MPLS messages
ntp sNTP client generated log entries
ospf Manual:Routing/OSPF routing protocol messages
ovpn OpenVPN tunnel messages
pim Multicast PIM-SM related messages
ppp ppp facility messages
pppoe PPPoE server/client related messages
pptp PPTP server/client related messages
radius Log entries generated by RADIUS Client
radvd IPv6 radv deamon log messages.
read SMS tool messages
rip RIP routing protocol messages
route Routing facility log entries
rsvp Resource Reservation Protocol generated messages.
script Log entries generated from scripts
sertcp Log messages related to facility responsible for «/ports remote-access»
simulator
state DHCP Client and routing state messages.
store Log entries generated by Store facility
smb Messages related to the SMB file sharing system
snmp Messages related to Simple network management protocol (SNMP) configuration
system Generic system messages
telephony Obsolete! Previously used by the IP telephony package
tftp TFTP server generated messages
timer Log messages that are related to timers used in RouterOS. For example bgp keepalive logs
ups Messages generated by UPS monitoring tool
vrrp Messages generated VRRP
watchdog Watchdog generated log entries
web-proxy Log messages generated by web proxy
wireless M:Interface/Wireless log entries.
write SMS tool messages.

Logging to file

To log everything to file, add new log action:

and then make everything log using this new action:

You can log only errors there by issuing command:

This will log into files log.0.txt and log.1.txt.

You can specify maximum size of file in lines by specifying disk-lines-per-file. .0.txt is active file were new logs are going to be appended and once it size will reach maximum it will become .1.txt, and new empty .0.txt will be created.

You can log into USB flashes or into MicroSD/CF (on Routerboards) by specifying it’s directory name before file name. For example, if you have accessible usb flash as usb1 directory under /files, you should issue following command:

Note: Logging entries from files will be stored back in the memory after reboot.

Examples

Webproxy logging

These two screenshots will show you how to configure the RouterOS logging facility to send Webrpoxy logs to a remote syslog server, in this example, located at 192.168.100.12. The syslog server can be any software that supports receiving syslogs, for example Kiwi syslog.

Add a new logging action, with «remote» and the IP of the remote server. Call it whatever you like

Then add a new logging rule with the topic «webproxy» and then newly created action. Note that you must have webproxy running on this router already, for this to work. To test, you can temporary change the action to «memory» and see the «log» window if the webproxy visited websites are logged. If it works, change it back to your new remote action

Note: it’s a good idea to add another topic in the same rule: !debug. This would be to ensure you don’t get any debug stuff, only the visited sites.

Rsyslog

It is possible to send all logs to a remote syslog server, one example of a syslog server is Rsyslog. Below you can find configuration example that is relevant to RouterOS:

With this configuration all logs will be present on the device and on the remote syslog server. Below you can find configuration lines that are relevant to a Rsyslog server (only lines that should be changed from the default values):

For security reasons you should only allow Rsyslog to listen to a certain address, this limits the instance to a single interface. You should also specify only certain IP addresses that are allowed to send their logs to the particular syslog server.

Note: Never rely on a single security measure, you should also implement proper Firewall on the machine running Rsyslog, to limit access to the server.

Источник