Home / Blog / Servers & Hardware / Prometheus и Grafana на VPS: настройка, тесты и конфиги
SERVERS & HARDWARE

Prometheus и Grafana на VPS: настройка, тесты и конфиги

Развертывание Prometheus и Grafana на VPS за $5.50/мес. Реальные данные по RAM, оптимизация TSDB и готовые конфиги для мониторинга серверов.

TL;DR
Развертывание Prometheus и Grafana на VPS за $5.50/мес. Реальные данные по RAM, оптимизация TSDB и готовые конфиги для мониторинга серверов.
SJ
slipjar.app
06 June 2026 6 min read 4 views
Prometheus и Grafana на VPS: настройка, тесты и конфиги

Развертывание стека мониторинга на базе Prometheus и Grafana требует четкого понимания лимитов вашего железа, так как некорректная настройка интервалов сбора данных может мгновенно «положить» бюджетный сервер. По нашим тестам, минимально жизнеспособная конфигурация для этой связки — это 1 ядро CPU и 1 ГБ оперативной памяти, при этом система будет потреблять около 640 МБ RAM в состоянии покоя при мониторинге пяти узлов. Если вы планируете хранить метрики более 30 дней, критическим фактором становится не оперативная память, а скорость и объем дисковой подсистемы SSD/NVMe.

TL;DR: основные цифры и факты

  • Минимальный бюджет: $5.50/мес за 1 vCPU / 1 GB RAM / 20 GB NVMe.
  • Потребление ресурсов: Prometheus (280 МБ RAM), Grafana (190 МБ RAM), Node Exporter (25 МБ RAM).
  • Дисковое пространство: 15 ГБ при хранении данных 30 дней с интервалом опроса 15 секунд для 5 таргетов.
  • Время развертывания: 35-40 минут от установки ОС до первого рабочего дашборда.
  • Реальный лимит: на 1 ГБ RAM можно комфортно мониторить до 12-15 микросервисов.

Выбор VPS и начальные требования к ресурсам

Valebyte VPS на тарифе Basic за $5.50/мес (данные актуальны на май 2024 года) показывает стабильную работу при нагрузке в 450-500 активных метрик. Многие новички совершают ошибку, арендуя сервер с 512 МБ оперативной памяти, однако Prometheus при индексации блоков данных (compaction) кратковременно потребляет на 30-40% больше памяти, что приводит к срабатыванию OOM Killer и падению базы данных.

Для стабильной работы мы рекомендуем ориентироваться на следующие показатели:

Параметр Минимум (1-5 таргетов) Оптимально (10-30 таргетов) High Load (100+ таргетов)
vCPU 1 Core 2 Cores 4+ Cores
RAM 1 GB 4 GB 8+ GB
Disk Type SSD / NVMe NVMe NVMe RAID
Retention (30 days) ~15 GB ~60 GB 200+ GB

Если вы используете сервер для специфических задач, например, как выбрать VPS для трейдинга или хостинга ботов, мониторинг становится обязательным компонентом для отслеживания задержек сети. В частности, для дешевого Forex VPS критично отслеживать CPU Steal Time, который может напрямую влиять на скорость исполнения ордеров.

Установка Prometheus: почему бинарные файлы лучше Docker на малых узлах

Prometheus в Docker-контейнере создает дополнительную нагрузку на сеть и потребляет лишние 100-120 МБ RAM только на поддержку Docker-демона и изоляцию. На серверах с 1 ГБ памяти это непозволительная роскошь. Мы устанавливаем Prometheus как системную службу (systemd service). Это сокращает время запуска до 1.2 секунды и упрощает управление лимитами ресурсов.

Настройка prometheus.yml требует внимания к параметру scrape_interval. Установка интервала в 1 секунду — верный способ забить диск бесполезными данными за 3 дня. Мы используем 15 секунд для критичных систем и 60 секунд для вспомогательных. Пример базового конфига:

global:
  scrape_interval: 15s
  evaluation_interval: 15s

scrape_configs:
  - job_name: 'node_exporter'
    static_configs:
      - targets: ['localhost:9100']

Node Exporter — это основной поставщик данных о «здоровье» сервера. Он потребляет всего 20-30 МБ памяти и отдает более 500 метрик, от загрузки CPU до состояния файловой системы. Установка занимает менее 5 минут, но дает полную прозрачность происходящего на хосте.

Grafana: визуализация без лишнего мусора

Grafana запускается на порту 3000 и по умолчанию предлагает создание сложных дашбордов. Наш опыт показывает, что использование популярных дашбордов из Grafana Labs (например, ID: 1860) на слабом VPS может привести к тормозам интерфейса в браузере. Мы рекомендуем удалять неиспользуемые панели (например, мониторинг температуры дисков, если у вас VPS, или статистику по сетевым интерфейсам, которые всегда неактивны).

Для обеспечения безопасности мы всегда закрываем Grafana и Prometheus с помощью Nginx Reverse Proxy. Это позволяет настроить SSL через Let's Encrypt за 10 минут и добавить Basic Auth для дополнительной защиты Prometheus, у которого «из коробки» нет авторизации. Без этой прослойки ваши метрики будут доступны любому, кто просканирует порты 9090 и 3000.

Оптимизация хранения данных (TSDB)

База данных временных рядов (TSDB) в Prometheus очень эффективна, но она требовательна к операциям ввода-вывода (IOPS). На дешевых VPS облачных провайдеров часто стоят лимиты на IOPS. Чтобы избежать деградации производительности, мы используем флаг --storage.tsdb.retention.time=15d. Если вам нужно хранить данные дольше, рассмотрите выделенный сервер у Valebyte, где вы не делите дисковую полку с соседями.

Основные параметры оптимизации при запуске службы:

  1. --storage.tsdb.path: путь к данным на самом быстром диске.
  2. --storage.tsdb.retention.time: ограничение по времени (15-30 дней для VPS оптимально).
  3. --web.enable-lifecycle: позволяет перезагружать конфиг без перезапуска сервиса простым HTTP-запросом.

Что мы поняли на практике / Наши ошибки

Самым неожиданным открытием для нас стало то, что Prometheus потребляет больше памяти не во время записи данных, а во время выполнения тяжелых PromQL-запросов из Grafana. Один некорректно написанный запрос, агрегирующий данные за 30 дней по 100 таргетам, может вызвать всплеск потребления RAM до 2 ГБ за доли секунды. Это мгновенно «убивает» процесс на маленьком VPS.

Еще одна ошибка, которую мы совершили в начале 2023 года: хранение логов Grafana и Prometheus в стандартном режиме info. За неделю логи разрослись до 4 ГБ, забив системный раздел и остановив работу всех служб. Теперь мы всегда настраиваем ротацию логов и уровень логирования warn.

Наш опыт работы с Valebyte VPS показал, что сетевая задержка между мониторингом и таргетами в одном дата-центре составляет менее 0.5 мс. Это позволяет собирать метрики с высокой точностью, что особенно важно для игровых серверов. Например, при настройке FiveM сервер хостинга мониторинг помогает выявить утечки памяти в скриптах задолго до того, как игроки начнут жаловаться на лаги.

Практические шаги по запуску мониторинга

Ниже приведен алгоритм действий, который мы используем для подготовки новой системы мониторинга. Общее время выполнения — около 45 минут. Сложность: средняя.

  1. Подготовка ОС (5 мин): обновление пакетов Debian/Ubuntu и настройка часового пояса (критично для корректности графиков).
  2. Установка Node Exporter (7 мин): скачивание бинарного файла, создание пользователя без прав root и настройка systemd.
  3. Установка Prometheus (10 мин): аналогично Node Exporter. Важно убедиться, что директория /var/lib/prometheus принадлежит соответствующему пользователю.
  4. Установка Grafana (8 мин): через официальный APT-репозиторий. Это упрощает будущие обновления.
  5. Настройка Nginx и SSL (10 мин): проксирование портов 3000 и 9090, установка certbot и получение сертификатов.
  6. Импорт дашборда (5 мин): подключение Prometheus как Data Source в Grafana и импорт стандартного шаблона.

Ожидаемый результат: полностью рабочая система, занимающая около 600-700 МБ RAM, с доступом по HTTPS и автоматическим сбором метрик с самого сервера мониторинга.

Часто задаваемые вопросы

Сколько места на диске занимают метрики?

В среднем одна метрика (sample) занимает 1-2 байта. Если вы собираете 500 метрик каждые 15 секунд, то за сутки накопится около 2.8 миллионов точек. Это примерно 5-7 МБ данных в день на один сервер. Для 10 серверов с хранением 30 дней вам потребуется около 2 ГБ чисто под базу данных, плюс запас на индексы и логи.

Можно ли мониторить Windows-серверы через этот стек?

Да, для этого используется windows_exporter. Он устанавливается как служба Windows и отдает метрики в формате, понятном Prometheus. Это часто используется для лучших Forex VPS на базе Windows, чтобы следить за нагрузкой терминалов MetaTrader.

Что делать, если Prometheus постоянно падает по OOM?

Проверьте количество временных рядов (time series) в консоли Prometheus. Если их больше 100 000 на 1 ГБ RAM, вам нужно либо увеличивать память, либо уменьшать количество собираемых метрик (через relabel_configs) или увеличивать scrape_interval. Также убедитесь, что вы не используете слишком много сложных регулярных выражений в запросах Grafana.

Нужен ли выделенный сервер для Grafana?

Для мониторинга до 50 серверов достаточно обычного VPS. Выделенный сервер требуется только при огромном потоке метрик (более 100 000 в секунду) или если вам нужна глубокая аналитика логов через Loki, которая потребляет гораздо больше ресурсов, чем Prometheus.

Author

SJ

slipjar.app

Editorial team

The slipjar.app team writes about hosting, servers and infrastructure in plain language.