В RouterOS появилась поддержка контейнеров — теперь можно запускать Zabbix Proxy прямо на MikroTik. Это удобно для удалённых площадок без отдельного сервера или мини-ПК.
С выходом поддержки контейнеров в RouterOS, у пользователей появилась возможность запускать Zabbix Proxy прямо на роутерах MikroTik. Это особенно удобно для удалённых площадок, где нет отдельного сервера или мини-ПК. В данной статье я расскажу, как развернуть Zabbix Proxy на MikroTik с архитектурой ARM64, используя образ на базе SQLite3.
Требования
MikroTik с архитектурой ARM64
RouterOS версии 7.5 и выше
Пакет container установлен и настроен
Память для размещения контейнера
Шаг 1. Выделение RAM под контейнер
Для хранения данных контейнера мы будем использовать RAM-диск. MikroTik позволяет выделить часть оперативной памяти для этого. Подробности — в официальной документации MikroTik или тут
Шаг 2. Выбор Docker-образа Zabbix Proxy
Заходим на официальный сайт Zabbix:
Переходим на нужный репозиторий. В моем случае zabbix proxy sqlite3.

Далее — попадаем на страницу Docker Hub, где можно:
Посмотреть инструкции по запуску и настройки
Перейти в раздел Tags и выбрать версию и базовую ОС
Я выбрал:
Версия: 7.2.4
ОС: alpine
Команда для скачивания образа:
docker pull zabbix/zabbix-proxy-sqlite3:7.2.4-alpine
Шаг 3. Создание переменных окружения
Для настройки Zabbix Proxy необходимо задать параметры через переменные окружения. Это можно сделать в интерфейсе MikroTik или через терминал.
Пример через терминал:
/container/envs/add name="zbx-proxy-env" key="ZBX_SERVER_HOST" value="IP-ZABBIX-СЕРВЕРА"
/container/envs/add name="zbx-proxy-env" key="ZBX_HOSTNAME" value="giga-zabbix"
/container/envs/add name="zbx-proxy-env" key="ZBX_DEBUGLEVEL" value="3"
Описание переменных:
ZBX_SERVER_HOST
— IP-адрес Zabbix-сервера
ZBX_HOSTNAME
— имя прокси, должно совпадать с именем, которое вы укажете при добавлении прокси на сервере
ZBX_DEBUGLEVEL
— уровень логирования (3 — стандартный уровень отладки)

Шаг 4. Добавление контейнера
Через GUI в RouterOS:
Remote Image: zabbix/zabbix-proxy-sqlite3:7.2.4-alpine
Interface: ваш сетевой интерфейс
Envlist: zbx-proxy-env
Hostname: zabbix-proxy
(или любое имя)
Root Dir: путь к ранее созданной директории
Logging: yes
Start On Boot: yes
Через терминал:
/container/add remote-image="zabbix/zabbix-proxy-sqlite3:7.2.4-alpine"
interface=your-interface envlist="zbx-proxy-env" hostname="zabbix-proxy"
root-dir=your-root-dir logging=yes start-on-boot=yes

Нажимаем Apply — начнётся загрузка и развёртывание контейнера. После загрузки, запускаем контейнер.
Шаг 5. Проверка логов и подключение к серверу
Если всё настроено корректно, но прокси ещё не создан на сервере, в логах MikroTik появится сообщение:
cannot send proxy data to server at "IP-ZABBIX-СЕРВЕРА": proxy "ZBX_HOSTNAME" not found
Это значит, что необходимо:
Зайти на Zabbix-сервер
Перейти в Configuration → Proxies
Добавить новый proxy с именем, указанным в ZBX_HOSTNAME
После этого в логах появится:
received configuration data from server at "IP-ZABBIX-СЕРВЕРА"
Это означает, что прокси успешно подключился и получил конфигурацию от сервера.
Заключение
Поздравляю, вы успешно развернули Zabbix Proxy в контейнере на MikroTik! Теперь можно настраивать элементы данных, хосты и наслаждаться мониторингом.