Перейти к основному содержанию

Мониторинг VPS: Grafana + Prometheus на своём сервере в 2026 году

Пошаговое руководство по настройке мониторинга VPS с помощью Grafana и Prometheus в 2026 году: установка, конфигурация, алерты и безопасность на российских серверах.

И
Илья Ковалев

Зачем нужен мониторинг VPS

Настроить мониторинг VPS с помощью Grafana и Prometheus можно за несколько часов: достаточно установить Prometheus для сбора метрик, Node Exporter для их экспорта с сервера и Grafana для визуализации. Стек разворачивается на одном VPS через Docker Compose или вручную, не требует проприетарного ПО и предоставляет полноценную наблюдаемость за CPU, RAM, дисковой подсистемой и сетью в режиме реального времени.

Владельцы VPS нередко узнают о проблемах с сервером последними — из жалоб пользователей или после того, как сайт уже недоступен несколько часов. Без мониторинга администратор работает вслепую.

Типичные проблемы без мониторинга

  • Непредвиденные отказы. Переполнение дискового раздела — одна из наиболее частых причин недоступности сервисов.
  • Деградация производительности. Утечки памяти приводят к постепенному росту потребления RAM.
  • Отсутствие исторических данных. При инциденте невозможно восстановить картину произошедшего.
  • Невозможность планирования ресурсов. Без метрик невозможно обосновать апгрейд тарифа.

Что такое Grafana и Prometheus: архитектура стека

Grafana и Prometheus — две независимые open-source системы, которые в связке образуют один из наиболее популярных стеков наблюдаемости для инфраструктуры.

Prometheus: сбор и хранение метрик

Prometheus — система мониторинга и база данных временных рядов (TSDB), разработанная в SoundCloud и переданная в CNCF. Ключевая особенность — pull-модель сбора данных: сервер сам периодически опрашивает (scrape) HTTP-эндпоинты и забирает метрики. Для запросов используется язык PromQL — мощный инструмент для агрегации и алертов.

Node Exporter: экспорт системных метрик

Node Exporter — официальный экспортер Prometheus для Linux. Запускается как демон и предоставляет на порту 9100 метрики ОС: загрузку CPU по ядрам, использование RAM и swap, статистику файловых систем, IOPS дисков, сетевой трафик.

Grafana: визуализация

Grafana — платформа для визуализации данных. В роли data source подключается Prometheus, после чего строятся дашборды с графиками, heatmap, gauge-панелями. Для Node Exporter существуют готовые дашборды — например, Node Exporter Full (Grafana Dashboard ID 1860), покрывающий все основные метрики сервера.

[Сервер] -> Node Exporter (:9100)
                  ^ scrape
           Prometheus (:9090) -> [хранение TSDB]
                  v query (PromQL)
           Grafana (:3000) -> [дашборды]

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

Dev / Test: одиночный сервер

  • CPU: 2 vCPU
  • RAM: 4 ГБ
  • Диск: 20-50 ГБ NVMe SSD
  • ОС: Ubuntu 22.04 LTS / Debian 12

Российские провайдеры из каталога EasyLinkLife: Timeweb Cloud — от 390 руб./мес, VDSina.ru — от 350 руб./мес, AdminVPS — от 320 руб./мес.

Production: мониторинг нескольких хостов

  • CPU: 4 vCPU
  • RAM: 8 ГБ и более
  • Диск: от 100 ГБ NVMe SSD

RUVDS предлагает серверы с 4 vCPU и 8 ГБ RAM от 800-900 руб./мес в собственных ЦОД в Москве и Санкт-Петербурге.

Установка Prometheus на VPS: пошаговая инструкция

Все команды актуальны для Ubuntu 22.04 и 24.04 по состоянию на 2026 год.

Обновление системы и создание пользователя

sudo apt update && sudo apt upgrade -y
sudo useradd --no-create-home --shell /bin/false prometheus

Скачивание и установка Prometheus

cd /tmp
wget https://github.com/prometheus/prometheus/releases/download/v2.51.0/prometheus-2.51.0.linux-amd64.tar.gz
tar xvf prometheus-2.51.0.linux-amd64.tar.gz
cd prometheus-2.51.0.linux-amd64

sudo cp prometheus promtool /usr/local/bin/
sudo chown prometheus:prometheus /usr/local/bin/prometheus /usr/local/bin/promtool
sudo mkdir /etc/prometheus /var/lib/prometheus
sudo cp -r consoles console_libraries /etc/prometheus
sudo chown -R prometheus:prometheus /etc/prometheus /var/lib/prometheus

Конфигурация prometheus.yml

# /etc/prometheus/prometheus.yml
global:
  scrape_interval: 15s
  evaluation_interval: 15s

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']

  - job_name: 'node'
    static_configs:
      - targets: ['localhost:9100']

Создание systemd unit-файла

[Unit]
Description=Prometheus Monitoring
Wants=network-online.target
After=network-online.target

[Service]
User=prometheus
Group=prometheus
Type=simple
ExecStart=/usr/local/bin/prometheus \
  --config.file=/etc/prometheus/prometheus.yml \
  --storage.tsdb.path=/var/lib/prometheus/ \
  --storage.tsdb.retention.time=30d
Restart=on-failure

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable prometheus
sudo systemctl start prometheus
sudo systemctl status prometheus

Prometheus будет доступен по адресу http://<IP>:9090. Откройте http://<IP>:9090/targets — вы увидите job prometheus в статусе UP.

Установка Node Exporter для сбора метрик

cd /tmp
wget https://github.com/prometheus/node_exporter/releases/download/v1.8.0/node_exporter-1.8.0.linux-amd64.tar.gz
tar xvf node_exporter-1.8.0.linux-amd64.tar.gz
sudo cp node_exporter-1.8.0.linux-amd64/node_exporter /usr/local/bin/
sudo useradd --no-create-home --shell /bin/false node_exporter
sudo chown node_exporter:node_exporter /usr/local/bin/node_exporter
[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target

[Service]
User=node_exporter
Group=node_exporter
Type=simple
ExecStart=/usr/local/bin/node_exporter
Restart=on-failure

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable node_exporter
sudo systemctl start node_exporter
curl http://localhost:9100/metrics | head -20

Node Exporter экспонирует метрики на порту 9100. Оставьте его закрытым в файрволе — Prometheus обращается к нему локально.

Установка и настройка Grafana

sudo apt install -y apt-transport-https software-properties-common wget gnupg
sudo mkdir -p /etc/apt/keyrings
wget -q -O - https://apt.grafana.com/gpg.key | gpg --dearmor | sudo tee /etc/apt/keyrings/grafana.gpg > /dev/null
echo "deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://apt.grafana.com stable main" | sudo tee /etc/apt/sources.list.d/grafana.list
sudo apt update && sudo apt install grafana -y
sudo systemctl daemon-reload && sudo systemctl enable grafana-server && sudo systemctl start grafana-server

Grafana доступна на порту 3000. Логин: admin / admin. Смените пароль при первом входе.

Добавление Prometheus как источника данных

  1. Перейдите в Connections - Data Sources
  2. Нажмите Add data source, выберите Prometheus
  3. В поле URL укажите http://localhost:9090
  4. Нажмите Save & Test

Импорт дашборда Node Exporter Full

  1. Dashboards - Import
  2. Введите ID 1860, нажмите Load
  3. Выберите Prometheus как источник данных
  4. Нажмите Import

Дашборд откроется немедленно и начнёт отображать метрики вашего сервера: загрузку CPU, использование RAM, I/O дисков, сетевой трафик.

Настройка алертов в Grafana

Алерты позволяют получать уведомления о проблемах на сервере до того, как они приведут к отказу.

Настройка точки контакта (Contact point)

Перейдите в Alerting - Contact points - Add contact point. Grafana поддерживает Telegram, Email, Slack, PagerDuty. Для Telegram укажите Bot Token и Chat ID.

Создание правила оповещения

# PromQL для CPU > 85%:
100 - (avg by(instance)(rate(node_cpu_seconds_total{mode="idle"}[2m])) * 100) > 85

# Условие: IS ABOVE 85
# Период оценки: каждые 1m, в течение 2m

Безопасность стека мониторинга

Порты Prometheus (9090) и Node Exporter (9100) не должны быть доступны из интернета — они не имеют встроенной аутентификации.

ufw deny 9090
ufw deny 9100
ufw allow 3000  # Grafana

Рекомендуется разместить Grafana за Nginx с TLS-сертификатом Let's Encrypt. Порт 3000 тоже закрывается, трафик идёт через 443.

Дополнительные меры безопасности

  • Запускайте Prometheus и Node Exporter от непривилегированного пользователя
  • Включите ротацию логов через logrotate
  • Регулярно обновляйте компоненты стека
  • Измените стандартные учётные данные Grafana сразу после первого входа

Какой VPS выбрать для мониторинга

Для комфортной работы стека Grafana + Prometheus + Node Exporter достаточно VPS с 1-2 vCPU и 2 ГБ RAM. При мониторинге более 10 серверов рекомендуется от 4 ГБ RAM и SSD-диск от 40 ГБ.

Цены актуальны на 2026 год. Уточняйте условия на страницах провайдеров через агрегатор EasyLinkLife.

Заключение

Настройка связки Grafana + Prometheus + Node Exporter — один из наиболее эффективных способов получить полный контроль над состоянием VPS. Вы получаете детализированные графики, гибкие дашборды и систему алертов, не завися от сторонних SaaS-сервисов. Весь стек разворачивается менее чем за час.

Если вы ещё не определились с площадкой для развёртывания мониторинга, сравните актуальные предложения российских провайдеров на EasyLinkLife — тарифы, характеристики и отзывы в одном месте.

Плюсы и минусы

Преимущества

  • Полностью бесплатный open-source стек
  • Детализированные метрики CPU, RAM, диска и сети
  • Гибкая система алертов через Telegram, Email, Slack
  • Готовые дашборды сообщества (ID 1860)
  • Работает на минимальных ресурсах (2 vCPU, 2 ГБ RAM)
  • Мониторинг нескольких серверов с одной Grafana

Недостатки

  • Требует базовых знаний Linux и командной строки
  • Нет встроенной аутентификации в Prometheus
  • Хранение данных растёт при длительном retention
  • Только pull-модель (scrape)

Частые вопросы

Сколько ресурсов VPS нужно для Grafana и Prometheus?

Минимально: 2 vCPU и 2 ГБ RAM. При мониторинге нескольких серверов — 4 ГБ RAM и SSD от 40 ГБ.

Сколько времени занимает настройка мониторинга?

От 30 до 60 минут вручную. С Docker Compose — 10-15 минут.

Grafana и Prometheus бесплатны?

Да, полностью бесплатные open-source инструменты. Платите только за VPS от 300 руб./мес.

Как защитить Grafana от несанкционированного доступа?

Закройте порты 9090 и 3000 через UFW, настройте Nginx reverse proxy с SSL, смените пароль admin.

Можно ли мониторить несколько VPS с одной Grafana?

Да, установите Node Exporter на каждый сервер и добавьте IP в targets prometheus.yml.

Куда Grafana отправляет уведомления об алертах?

Telegram, Email, Slack, PagerDuty. Для Telegram нужен бот через @BotFather.

Docker Compose или ручная установка?

Docker Compose быстрее и удобнее. Ручная — больше контроля для production без Docker.

Запустите Grafana + Prometheus уже сегодня

Выбрать VPS для мониторинга

Некоторые ссылки в этой статье являются партнёрскими. Мы можем получить комиссию при переходе и покупке. На стоимость для вас это не влияет. Подробнее

E

Илья Ковалев

Илья Ковалев — автор EasyLinkLife, эксперт по серверной инфраструктуре и облачным технологиям. Специализируется на независимом тестировании хостинг-провайдеров.

Проверено: Редакция EasyLinkLife | Обновлено: 20 марта 2026 г.

Полезные материалы