We detected you are likely not from a Russian-speaking region. Would you like to switch to the international version of the site?

  Назад к списку статей

Создание распределённого сетевого монитора на базе Termux и Prometheus + Grafana для сбора метрик в реальном времени

В этой статье мы рассмотрим, как создать распределённую систему мониторинга сети, используя Termux, Prometheus и Grafana. Мы будем собирать метрики с нескольких устройств Android и визуализировать их в реальном времени.

Мониторинг сети — важная задача для поддержания стабильной и эффективной работы сетевой инфраструктуры. В этой статье мы рассмотрим создание распределённого сетевого монитора, использующего 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 и визуализировать их в реальном времени, что помогает поддерживать стабильную и эффективную работу сети. Надеемся, эта статья была полезной. Если вам требуется помощь в настройке и обслуживании вашей сетевой инфраструктуры, обратитесь в РыбинскЛАБ. Мы предлагаем широкий спектр услуг, включая настройку систем мониторинга, администрирование серверов и обеспечение информационной безопасности.

* Текст статьи подготовлен и структурирован с использованием технологий искусственного интеллекта. Проверен и доработан перед публикацией.

Нужна помощь с настройкой Termux, Linux и серверов?

Я оказываю ИТ-услуги: настройка серверов, автоматизация, безопасность, помощь с Linux и инфраструктурой. Материалы сайта — только в ознакомительных и образовательных целях.

Связаться со мной
Поддержать проект