Вверх

 
  • Комплексное ИТ обслуживание Вашего бизнеса 24 часа 7 дней в неделю!
  • IP телефония со знанием дела. Установка и настройка.
  • Поставки оборудования по выгодным ценам

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

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

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

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

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

rsyslog 2

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

rsyslog 3

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

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 4

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

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

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

rsyslog 5

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

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

rsyslog 6

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

rsyslog 7

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

rsyslog 8

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

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

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

 rsyslog 9

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

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

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

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

rsyslog 11

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

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

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

rsyslog 12

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

rsyslog 13

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

P.S. Не забудьте настроить firewall на сервере (белый список или «серая» VPN-сеть), иначе 514 порт будет также доступен по белому IP, а это чревато плохими последствиями

На сегодня все! Всем спасибо за прочтения.

Комментарии (0)


Есть что сказать? Пишите нам ->

Новости IT рынка