Мониторинг VPS без переплат: Prometheus + Grafana на бесплатном стеке
Разворачиваем полноценный мониторинг сервера за 30 минут: CPU, RAM, диск, сеть, alerting в Telegram. Полностью бесплатно.
Prometheus + Grafana + Node Exporter — бесплатный стек мониторинга для VPS. Разворачивается через Docker Compose за 10 минут, потребляет ~200 МБ RAM. Node Exporter собирает системные метрики, Prometheus хранит их, Grafana визуализирует. Алерты — через Alertmanager в Telegram.
- 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
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
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 и десятки других метрик в реальном времени.
Проверенные серверы от надежных провайдеров
Timeweb Cloud
Cloud Start
CPU
1 ядер • 3.3 ГГц
RAM
1 ГБ
Диск
15 ГБ NVMe
Канал
200 Мбит/с
299 ₽/мес
Selectel
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 может мониторить сотни нод.