Мониторинг сети — важная задача для поддержания стабильной и эффективной работы сетевой инфраструктуры. В этой статье мы рассмотрим создание распределённого сетевого монитора, использующего Termux на устройствах Android, Prometheus для сбора метрик и Grafana для их визуализации. Это решение позволяет собирать данные о состоянии сети с разных точек и получать представление о её работе в реальном времени.
Необходимые компоненты
- Termux: Эмулятор терминала для Android, позволяющий запускать Linux-окружение.
- Prometheus: Система мониторинга и оповещения с открытым исходным кодом.
- Grafana: Платформа для визуализации данных, поддерживающая различные источники данных, включая Prometheus.
- Node Exporter: Экспортер метрик для Prometheus, собирающий информацию о системе.
- VPN (опционально): Для создания локальной сети между устройствами Android, если они находятся в разных сетях. Используется исключительно для внутренней организации сети мониторинга.
Установка и настройка Termux
Установите Termux из F-Droid (https://f-droid.org/en/packages/com.termux/). После установки, обновите пакеты:
pkg update && pkg upgrade
Установите необходимые пакеты:
pkg install prometheus node-exporter
Настройка Node Exporter
Node Exporter собирает метрики с устройства Android. Запустите его в Termux:
node_exporter &
По умолчанию Node Exporter слушает порт 9100. Убедитесь, что этот порт доступен в вашей сети. Если у вас несколько устройств Android, убедитесь, что каждый Node Exporter слушает на уникальном порту. Для этого можно использовать параметры командной строки Node Exporter, например, --web.listen-address=:9101.
Настройка Prometheus
Prometheus собирает метрики с Node Exporter. Настройте файл prometheus.yml, чтобы указать целевые устройства:
scrape_configs:
- job_name: 'termux_nodes'
static_configs:
- targets: ['localhost:9100', '192.168.1.100:9101'] # Замените IP-адреса и порты на свои
Запустите Prometheus:
prometheus &
По умолчанию Prometheus слушает порт 9090. Откройте веб-интерфейс Prometheus в браузере (например, http://localhost:9090) и убедитесь, что метрики собираются.
Настройка Grafana
Grafana позволяет визуализировать метрики, собранные Prometheus. Установите Grafana (инструкции можно найти на https://grafana.com/docs/grafana/latest/setup-grafana/installation/) и добавьте Prometheus в качестве источника данных.
Создайте дашборд в Grafana и добавьте графики, отображающие интересующие вас метрики (например, загрузку ЦП, использование памяти, сетевой трафик). Для этого используйте язык запросов Prometheus (PromQL).
Создание локальной сети (опционально)
Если устройства Android находятся в разных сетях, можно использовать VPN для создания локальной сети. Настройте VPN-сервер на одном из устройств Android и подключите остальные устройства к нему. Убедитесь, что устройства могут взаимодействовать друг с другом по локальным IP-адресам.
Заключение
В этой статье мы рассмотрели создание распределённого сетевого монитора на базе Termux, Prometheus и Grafana. Это решение позволяет собирать метрики с нескольких устройств Android и визуализировать их в реальном времени, что помогает поддерживать стабильную и эффективную работу сети. Надеемся, эта статья была полезной. Если вам требуется помощь в настройке и обслуживании вашей сетевой инфраструктуры, обратитесь в РыбинскЛАБ. Мы предлагаем широкий спектр услуг, включая настройку систем мониторинга, администрирование серверов и обеспечение информационной безопасности.