Мониторинг• Гайды по выбору

Мониторинг VPS без переплат: Prometheus + Grafana на бесплатном стеке

Разворачиваем полноценный мониторинг сервера за 30 минут: CPU, RAM, диск, сеть, alerting в Telegram. Полностью бесплатно.

Обновлено: 2026-11-02T06:00:04.485Z
Время чтения: ~10 мин
Автор: Артём Савельев (DevOps-инженер)
Быстрый ответ & Краткая суть

Prometheus + Grafana + Node Exporter — бесплатный стек мониторинга для VPS. Разворачивается через Docker Compose за 10 минут, потребляет ~200 МБ RAM. Node Exporter собирает системные метрики, Prometheus хранит их, Grafana визуализирует. Алерты — через Alertmanager в Telegram.

СтекPrometheus + Grafana + Node Exporter
Потребление~200 МБ RAM, ~1 ГБ/мес диска
УстановкаDocker Compose, 10 минут
ДашбордGrafana ID: 1860 (готовый)
Ключевые выводы и краткая суть
  • Prometheus + Grafana + Node Exporter = полноценный мониторинг бесплатно. Потребляет ~200 МБ RAM.
  • Node Exporter собирает метрики: CPU, RAM, диск, сеть, температура, uptime.
  • Grafana дашборд «Node Exporter Full» (ID: 1860) — готовая визуализация без настройки.
  • Alertmanager + Telegram Bot — уведомления о проблемах в реальном времени.

Docker Compose для стека мониторинга

Весь стек — в одном docker-compose.yml. Node Exporter собирает метрики ОС, Prometheus их хранит, Grafana визуализирует:

docker-compose.monitoring.yml
# docker-compose.monitoring.yml
services:
  prometheus:
    image: prom/prometheus:latest
    volumes:
      - ./prometheus.yml:/etc/prometheus/prometheus.yml:ro
      - prometheus_data:/prometheus
    ports:
      - "9090:9090"
    restart: always

  grafana:
    image: grafana/grafana:latest
    environment:
      - GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_PASSWORD}
    volumes:
      - grafana_data:/var/lib/grafana
    ports:
      - "3000:3000"
    depends_on:
      - prometheus
    restart: always

  node-exporter:
    image: prom/node-exporter:latest
    volumes:
      - /proc:/host/proc:ro
      - /sys:/host/sys:ro
      - /:/rootfs:ro
    command:
      - '--path.procfs=/host/proc'
      - '--path.sysfs=/host/sys'
      - '--path.rootfs=/rootfs'
    ports:
      - "9100:9100"
    restart: always

volumes:
  prometheus_data:
  grafana_data:

Настройка Prometheus

Конфигурация Prometheus — файл prometheus.yml рядом с docker-compose:

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

scrape_configs:
  - job_name: 'node'
    static_configs:
      - targets: ['node-exporter:9100']
        labels:
          instance: 'my-vps'

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

Grafana: импорт готового дашборда

После запуска docker compose up -d откройте Grafana на порту 3000. Логин: admin, пароль из .env.

1. Добавьте Data Source: Configuration → Data Sources → Add → Prometheus → URL: http://prometheus:9090 → Save & Test.

2. Импортируйте дашборд: Dashboards → Import → ID: 1860 → Load → Выберите Prometheus → Import.

Готово. Вы увидите графики CPU, RAM, диск, сеть, IOPS и десятки других метрик в реальном времени.

Алерты в TelegramСоздайте Telegram-бота через @BotFather, получите токен. В Grafana: Alerting → Contact Points → Add → Telegram → Bot Token + Chat ID. Настройте Alert Rules на условия: CPU >90% за 5 мин, RAM >95%, диск >85%.
Рекомендованные конфигурации по теме статьи

Проверенные серверы от надежных провайдеров

Весь каталог
Timeweb Cloud
Перейти
Хит цены
Timeweb Cloud

Timeweb Cloud

Москва★ 4.8

Cloud Start

CPU

1 ядер • 3.3 ГГц

RAM

1 ГБ

Диск

15 ГБ NVMe

Канал

200 Мбит/с

299 ₽/мес

Timeweb Cloud

Timeweb Cloud

Москва★ 4.8

Cloud Basic

CPU

2 ядер • 3.3 ГГц

RAM

2 ГБ

Диск

40 ГБ NVMe

Канал

200 Мбит/с

499 ₽/мес

152-ФЗ
Selectel

Selectel

Москва★ 4.9

Cloud Lite 1

CPU

1 ядер • 2.6 ГГц

RAM

1 ГБ

Диск

10 ГБ SSD

Канал

200 Мбит/с

550 ₽/мес

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

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

При стандартном scrape_interval (15 сек) и 1 ноде — ~1 ГБ/мес. Retention по умолчанию — 15 дней. Для длительного хранения увеличьте --storage.tsdb.retention.time=90d.

Можно ли мониторить несколько серверов?

Да. Установите Node Exporter на каждом сервере и добавьте targets в prometheus.yml. Prometheus может мониторить сотни нод.