Balena-девайсы
Хотя Zabbix изначально задумывался как система мониторинга для VPS (например, на FirstVDS), быстро появилась идея — использовать его и для более чем 1000 устройств Raspberry Pi 3 с установленной BalenaOS. Эта идея была успешно реализована.
Проблема и решение
Проблема
Чтобы Zabbix автоматически обнаруживал устройства, необходимо настроить правила обнаружения в разделе "Сбор данных → Обнаружение", указав диапазон IP-адресов, в которых будут искаться хосты.
Однако у устройств BalenaOS есть особенность: каждая приставка находится в собственной изолированной сети, и не имеет внешнего IP-адреса, а значит — недоступна извне. Это делает обычное сетевое сканирование невозможным.
Решение
К счастью, проект OpenBalenaVPN предоставляет VPN-контейнер, к которому подключены все устройства, как к серверу. Внутри контейнера open-balena-vpn появляется **виртуальный сетевой интерфейс **, через который можно напрямую обращаться ко всем Raspberry Pi.
В документации OpenBalenaVPN описан полный диапазон адресов, в который попадают все устройства:
Таким образом, весь диапазон 100.64.0.0/10 покрывает все возможные IP-адреса устройств в этой схеме.
Подключение к Zabbix
Поскольку доступ из внешней сети к VPN невозможен (например, не удаётся подключиться по OpenVPN-клиенту напрямую), используется Zabbix Proxy. Он может быть развёрнут внутри того же хоста (или контейнера), где работает open-balena-vpn.
В файле docker-compose.yml достаточно указать:
Это позволяет контейнеру zabbix-proxy «видеть» VPN-интерфейс так же, как будто он его часть — без проброса портов и внешних подключений.
Таким образом:
Zabbix Proxy «изнутри» сканирует диапазон
100.64.0.0/10Кэширует метрики от устройств
Передаёт их на основной Zabbix Server, когда появляется связь
Основной сервер использует
правила обнаруженияи добавляет приставки, на которых есть zabbix-agent2
Установка
Процесс установки Zabbix Proxy для OpenBalena описан в разделе Установка и деплой