Если Speedtest Tracker, который я упоминал одном из прошлых постов, в первую очередь собирает историю тестов скорости, то Netronome идёт дальше: объединяет проверку пропускной способности, диагностику маршрутов и мониторинг удалённых серверов.
Что умеет Netronome:
— запускать тесты через Speedtest.net, LibreSpeed и
iperf3;— выполнять проверки автоматически по расписанию;
— сохранять историю скорости, задержки и других показателей;
— непрерывно контролировать потерю пакетов через ICMP;
— анализировать маршрут с помощью
traceroute и MTR;— показывать статистику потерь отдельно по каждому узлу маршрута;
— контролировать DNS-запросы;
— собирать с удалённых серверов загрузку CPU, память, диски, температуру и сетевой трафик;
— отправлять уведомления в Telegram, Discord, email и другие сервисы через Shoutrrr.
Для распределённого мониторинга используются легковесные агенты. Их можно установить на домашних серверах или удалённых площадках, а результаты свести в один веб-интерфейс. Есть интеграция с Tailscale и автоматическое обнаружение агентов внутри tailnet — удобно, если не хочется публиковать служебные порты в интернете.
Netronome потенциально может подойти в сценариях:
— контроля качества домашнего или офисного интернет-канала;
— сравнения фактической скорости с тарифом провайдера;
— мониторинга связи между филиалами через
iperf3;— поиска участка маршрута, на котором начинаются потери;
— наблюдения за серверами без развёртывания полноценного стека Prometheus;
— контроля трафика VPN-контейнеров, например Gluetun.
Само приложение написано на Go, а интерфейс — на React и TypeScript. Frontend и backend упакованы в один исполняемый файл. По данным разработчиков, типичное потребление памяти составляет около 35 МБ. Для хранения можно использовать SQLite или PostgreSQL.
Развернуть Netronome можно готовым бинарником либо в Docker. В контейнерный образ уже включены
iperf3, LibreSpeed CLI, traceroute, MTR и vnstat. Есть встроенная авторизация, OIDC и ограничение доступа по IP.Из нюансов: тесты скорости создают реальную нагрузку на канал, поэтому расписание нужно выбирать аккуратно. Для полноценной работы MTR потребуются дополнительные привилегии, а некоторые функции при установке без Docker зависят от внешних утилит.
Основная функциональность распространяется на бесплатной основе, но разрабы отдельно предлагают платный набор дополнительных тем интерфейса.
Репыч на GitHub
@usr_bin_linux
