◽️Prometheus для хранения метрик
◽️Grafana для визуализации
◽️MKTXP - exporter для сбора метрик с Микротиков по API
◽️Loki для хранения логов
◽️Promtail и Syslog-NG для сбора логов
Всё это упаковано в docker compose и запускается за 5 минут. Всё, что нужно - заполнить конфигурационный файл с доступом к микротикам. Весь стек полностью настроен. Я его запустил и попробовал. Экспортер и визуализация к нему очень понравились. Сбор логов не особо, потому что, во-первых, используется Promtail, а он не очень хорошо парсит syslog от микротов. Какие там есть проблемы, писал в отдельной заметке про Alloy. У него такие же проблемы, как у Promtail. Для этой задачи лучше подходит Vector. Во-вторых, у меня в контейнере с Promtail периодически вылезали ошибки, и он переставал собирать логи. Помогал перезапуск. С ошибками разбираться не стал, Promtail всё равно уже deprecated, его надо менять.
А вот сам экспортер и дашборд к нему очень хороши. Если у вас уже есть свой стэк Prometheus + Grafana, можете взять отдельно экспортер и дашборд. В репозитории есть инструкция, там всё просто для тех, кто работает с Prometheus и знает его. Для тех, кто не знает, покажу, как всё это дело запустить и наслаждаться мониторингом микротиков без погружения в тему prometheus и grafana.
Берём любую машину с установленным Docker. Клонируем себе репозиторий и переходим в него:
# git clone https://github.com/akpw/mktxp-stack.git# cd mktxp-stackОткрываем файл конфигурации mktxp.conf в директории mktxp и добавляем свои устройства в файл:
[hAPax3-01] hostname = 192.168.137.1[hAPax3-02] hostname = 192.168.137.2[hAPax3-03] hostname = 192.168.137.3И так далее. На всех устройствах добавляем отдельного пользователя для доступа mktxp. Ему достаточно прав read и api. Можете сделать через winbox или в консоли:
/user group add name=mktxp_group policy=api,read/user add name=mktxp_user group=mktxp_group password=mktxp_user_passwordИспользуем эту учётку в mktxp.conf
[default]................. username = mktxp_user password = mktxp_user_password...................Остальные параметры включайте на своё усмотрение. Там по названию понятен смысл, плюс, есть комментарии. Если на устройствах будут разные учётки, то пропишите их в разделе с устройством.
Больше ничего делать не надо. Можно запускать весь стек. Для этого переходим в директорию mktxp-stack и запускаем:
# docker compose -f ./docker-compose-mktxp-stack.yml up -dПереходим в веб интерфейс по IP адресу сервера на порт 3000, например http://192.168.137.29:3000. Попадёте сразу в веб интерфейс Grafana. Там уже всё настроено, аутентификация отключена. Вы сразу же увидите метрики со своих настроенных устройств. По крайней мере у меня сразу всё заработало. Ничего больше не делал.
Дашборд продуман и информативен. Я себе оставлю его. Не скажу, что сильно надо. Самому лень было настраивать. Но готовый можно взять. Там те же лизы от DHCP можно смотреть. Я иногда захожу через winbox поискать потерявшиеся хосты. Ну и просто статистику, загрузку интерфейсов, открытые соединения и топ хостов по ним посмотреть. На дашборде всё это нагляднее, чем в Winbox.
Как я уже сказал, аутентификация в Grafana отключена, по умолчанию почему-то установлена светлая тема. Мне привычнее тёмная. Поменять настройки grafana можно в основном compose файле - docker-compose-mktxp-stack.yml. Я вернул чёрный цвет:
GF_USERS_DEFAULT_THEME: "dark"Хорошее, добротное решение. Мне понравилось. Ниже много интересных картинок.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX 😩
#mikrotik #prometheus




