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

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

Мониторинг системных ресурсов Android через Termux: Prometheus + Grafana

Подробное руководство по установке и настройке Prometheus и Grafana в Termux для мониторинга процессора, памяти, диска и сети Android‑устройства.

Android‑устройства часто используют в качестве небольших серверов, IoT‑шлюзов или тестовых стендов. Для обеспечения стабильной работы критически важно иметь возможность наблюдать за загрузкой процессора, использованием памяти, состоянием диска и сетевыми метриками в режиме реального времени. В этой статье мы покажем, как превратить ваш смартфон или планшет в полноценный мониторинг‑агент, используя Termux, Prometheus и Grafana.

Подготовка среды Termux

Установите приложение Termux из официального репозитория Google Play или F-Droid. После первого запуска обновите пакеты и установите необходимые инструменты.

pkg update && pkg upgrade -y
pkg install git python wget curl unzip tar -y

Для работы с Python‑пакетами установим pip и виртуальное окружение.

pkg install python -y
pip install --upgrade pip setuptools
python -m venv ~/venv
source ~/venv/bin/activate

Установка Prometheus и Node Exporter

В Termux нет готовых пакетов prometheus и node_exporter, поэтому будем использовать официальные бинарные сборки.

Скачайте последнюю версию Prometheus и Node Exporter для архитектуры ARM64 (или ARMv7, в зависимости от вашего устройства).

# Определяем архитектуру
ARCH=$(uname -m)
if [ "$ARCH" = "aarch64" ]; then
  PROM_URL="https://github.com/prometheus/prometheus/releases/download/v2.53.0/prometheus-2.53.0.linux-arm64.tar.gz"
  NODE_URL="https://github.com/prometheus/node_exporter/releases/download/v1.8.2/node_exporter-1.8.2.linux-arm64.tar.gz"
else
  PROM_URL="https://github.com/prometheus/prometheus/releases/download/v2.53.0/prometheus-2.53.0.linux-arm.tar.gz"
  NODE_URL="https://github.com/prometheus/node_exporter/releases/download/v1.8.2/node_exporter-1.8.2.linux-arm.tar.gz"
fi

# Скачивание и распаковка
mkdir -p $HOME/prometheus && cd $HOME/prometheus
wget -O prom.tar.gz $PROM_URL && tar -xzf prom.tar.gz --strip-components=1
mkdir -p $HOME/node_exporter && cd $HOME/node_exporter
wget -O node.tar.gz $NODE_URL && tar -xzf node.tar.gz --strip-components=1

Настроим базовый конфиг prometheus.yml, чтобы собрать метрики от node_exporter.

cat > $HOME/prometheus/prometheus.yml <<'EOF'
global:
  scrape_interval: 15s
  evaluation_interval: 15s

scrape_configs:
  - job_name: 'android_node'
    static_configs:
      - targets: ['localhost:9100']
EOF

Запустим оба процесса в фоновом режиме (для простоты используем nohup).

nohup $HOME/node_exporter/node_exporter &
nohup $HOME/prometheus/prometheus --config.file=$HOME/prometheus/prometheus.yml &

Проверьте, что метрики доступны по адресу http://127.0.0.1:9100/metrics и http://127.0.0.1:9090/targets (доступно из браузера Termux или через curl).

Установка Grafana

Grafana официально не поддерживает Android, но в Termux можно запустить её в виде контейнера grafana через grafana-cli или собрать из исходников. Самый простой способ – использовать grafana из репозитория pkg (доступно в репозитории termux начиная с версии 9.0).

pkg install grafana -y
# Инициализируем базу данных и стартуем сервис
grafana-server --homepath $PREFIX/var/lib/grafana --config $PREFIX/etc/grafana/grafana.ini &

Если пакет недоступен, можно воспользоваться docker (установив termux-docker) или собрать из исходников – но в рамках этой статьи ограничимся официальным пакетом.

Конфигурация Grafana для визуализации метрик

Откройте браузер на Android и перейдите по адресу http://127.0.0.1:3000. По умолчанию логин/пароль – admin/admin. После входа выполните следующие шаги:

  1. Добавьте источник данных Prometheus:
    URL: http://localhost:9090
    Access: Server (default)
    Save & Test
  2. Создайте новый дашборд или импортируйте готовый шаблон. Для быстрого старта используйте публичный шаблон 1860 (Node Exporter Full).
    Dashboard → Import → ID: 1860 → Load → Select Prometheus datasource → Import
  3. При необходимости настройте параметры отображения (цвета, пороги алертов) под ваш сценарий.

Все основные метрики (CPU usage, memory, filesystem, network) теперь видны в реальном времени.

Автозапуск сервисов при старте Termux

Чтобы мониторинг работал постоянно, добавьте команды в файл ~/.termux/bootrc (включите termux-boot из Play Store).

#!/data/data/com.termux/files/usr/bin/sh
# Запуск Node Exporter
$HOME/node_exporter/node_exporter &
# Запуск Prometheus
$HOME/prometheus/prometheus --config.file=$HOME/prometheus/prometheus.yml &
# Запуск Grafana
grafana-server --homepath $PREFIX/var/lib/grafana --config $PREFIX/etc/grafana/grafana.ini &

Не забудьте сделать файл исполняемым:

chmod +x ~/.termux/bootrc

Оптимизация и безопасность

  • Ограничьте доступ к портам 9090 и 3000 только из локальной сети, используя iptables или termux-wake-lock для защиты от автоматического закрытия.
  • Настройте базовую аутентификацию в Grafana (смените пароль администратора).
  • Для удалённого доступа создайте SSH‑туннель к Android‑устройству и проксируйте порты.

Заключение

С помощью Termux вы получили полностью автономный стек мониторинга, который позволяет собирать и визуализировать ключевые системные метрики Android‑устройства в реальном времени. Такая настройка полезна для разработчиков, системных администраторов и всех, кто использует смартфон в качестве мини‑сервера.

Если вам нужен более глубокий аудит, кастомные дашборды или интеграция с внешними системами (Alertmanager, Loki, Promtail), обратитесь к профессионалам RybinskLab. Мы поможем спроектировать, развернуть и поддерживать решение под любые задачи, от IoT‑проектов до корпоративных инфраструктур.

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

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

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

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