Графики в микротик

В этой статье настраиваем мониторинг уровня LTE-сигнала для роутеров MikroTik RBM33. Страница показывает RSSI, RSRP, RSRQ, оператора, полосу и uptime сессии. Обновляется каждые 10 секунд.

Есть два варианта вёрстки — карточки (каждый роутер отдельная карточка) и таблица (все роутеры в одной строчке). Каждый вариант в тёмной и светлой теме.


Как это работает

Страница работает через nginx-прокси. nginx принимает запросы от браузера и пересылает их к REST API MikroTik, добавляя авторизацию автоматически.

Браузер  →  nginx :8080  →  /rest/0/  →  http://10.92.1.1/rest/  (RBM33 #1)
                          →  /rest/1/  →  http://10.92.1.2/rest/  (RBM33 #2)

Шаг 1 — создать пользователя на MikroTik

На каждом роутере выполнить команду в терминале:

/user add name=monitor password=monitor123 group=read

Это создаёт пользователя monitor с паролем monitor123 — только для чтения, изменить настройки он не сможет.

nginx передаёт логин и пароль роутеру в каждом запросе. По стандарту HTTP они передаются в формате Base64. Чтобы закодировать monitor:monitor123:

echo -n "monitor:monitor123" | base64
# Результат: bW9uaXRvcjptb25pdG9yMTIz

Эта строка вставляется в конфиг nginx в заголовок Authorization. Если изменишь логин или пароль — пересчитай и замени строку в конфиге.


Шаг 2 — настроить nginx

Скачать конфиг и разместить по пути /etc/nginx/nginx.conf.

⬇ Скачать signal.conf

Открыть файл и заменить 10.92.1.1 на реальный IP своего роутера. Для каждого следующего роутера скопировать блок location /rest/0/, увеличить число на 1 (/rest/1/, /rest/2/ ...) и указать нужный IP.


Шаг 3 — скачать HTML-страницу

Выбери вариант который нравится. Скачай zip-архив, распакуй и положи HTML-файл в папку html/ рядом с nginx. По второй ссылке можно посмотреть как страница выглядит прямо в браузере.

Вариант 1 — Карточки

⬇ Тёмная тема — скачать  |  👁 Посмотреть

⬇ Светлая тема — скачать  |  👁 Посмотреть

Вариант 2 — Таблица

⬇ Тёмная тема — скачать  |  👁 Посмотреть

⬇ Светлая тема — скачать  |  👁 Посмотреть


Как добавить роутеры

Открой скачанный HTML-файл в любом текстовом редакторе и найди массив ROUTERS в начале скрипта. Добавь по одной строке на каждый роутер:

const ROUTERS = [
  { name: "RBM33 #1", interfaces: ["lte1"] },  // 0  →  /rest/0/ в nginx  --ЭТО ДЛЯ МИКРОТИКОВ С 1 SIM-картой 
  { name: "RBM33 #2", interfaces: ["lte1"] },  // 1  →  /rest/1/ в nginx
];

Порядковый номер строки в массиве (0, 1, 2 ...) должен совпадать с числом в nginx (/rest/0/, /rest/1/ ...).

Если в роутере две SIM-карты — укажи оба интерфейса:

{ name: "RBM33 #1", interfaces: ["lte1", "lte2"] }

Страница покажет две карточки или две строки — по одной на каждую симку.


Шаг 4 — запуск

nginx -s reload

Открыть в браузере: http://<адрес_сервера>:8080

Комментарии

Комментариев пока нет.