September 02, 2026 · by Alex M.
Мониторинг сервера — одна из ключевых практик DevOps, которую необходимо внедрять с самого начала. Без метрик в реальном времени проблемы с производительностью — избыточное потребление CPU, нехватка памяти, переполненный диск — могут оставаться незамеченными до тех пор, пока сайт или приложение не упадёт полностью.
Prometheus и Grafana вместе образуют одну из самых популярных open-source стеков мониторинга. Prometheus собирает и хранит метрики, а Grafana отображает их в красивых интерактивных дашбордах. В этом руководстве вы узнаете, как шаг за шагом установить и настроить оба инструмента на VPS SSD с Ubuntu 22.04.
Существует множество решений для мониторинга — Zabbix, Netdata, Nagios — но комбинация Prometheus + Grafana завоёвывает всё большую популярность благодаря:
Если вы используете VPS NVMe для критически важных приложений, эти инструменты могут сэкономить вам часы отладки.
Перед началом убедитесь, что у вас есть:
sudoОбновите систему перед началом:
sudo apt update && sudo apt upgrade -y
Никогда не запускайте Prometheus от имени root. Создайте системного пользователя без login shell:
sudo useradd --no-create-home --shell /bin/false prometheus
Проверьте актуальную версию на prometheus.io/download, затем:
cd /tmp
wget https://github.com/prometheus/prometheus/releases/download/v2.52.0/prometheus-2.52.0.linux-amd64.tar.gz
tar xvf prometheus-2.52.0.linux-amd64.tar.gz
cd prometheus-2.52.0.linux-amd64
Скопируйте бинарные файлы и конфигурации:
sudo cp prometheus /usr/local/bin/
sudo cp promtool /usr/local/bin/
sudo mkdir /etc/prometheus
sudo mkdir /var/lib/prometheus
sudo cp -r consoles/ /etc/prometheus/
sudo cp -r console_libraries/ /etc/prometheus/
sudo cp prometheus.yml /etc/prometheus/
Установите правильного владельца:
sudo chown -R prometheus:prometheus /etc/prometheus /var/lib/prometheus
sudo chown prometheus:prometheus /usr/local/bin/prometheus /usr/local/bin/promtool
Отредактируйте основной файл конфигурации:
sudo nano /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']
sudo nano /etc/systemd/system/prometheus.service
[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/ \
--web.console.templates=/etc/prometheus/consoles \
--web.console.libraries=/etc/prometheus/console_libraries
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 теперь работает на порту 9090. Если UFW активен:
sudo ufw allow 9090/tcp
Node Exporter предоставляет метрики операционной системы (CPU, RAM, диск, сеть) для Prometheus.
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
sudo nano /etc/systemd/system/node_exporter.service
[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
Node Exporter работает на порту 9100 и предоставляет сотни метрик о состоянии вашего сервера.
Grafana превращает сырые данные Prometheus в наглядные интерактивные графики. Именно здесь вы увидите в реальном времени всё, что происходит на вашем VPS.
sudo apt install -y apt-transport-https software-properties-common
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
echo "deb https://packages.grafana.com/oss/deb stable main" | sudo tee /etc/apt/sources.list.d/grafana.list
sudo apt update
sudo apt install grafana -y
sudo systemctl enable grafana-server
sudo systemctl start grafana-server
sudo systemctl status grafana-server
Grafana работает на порту 3000:
sudo ufw allow 3000/tcp
Откройте http://IP-VPS:3000 в браузере. Учётные данные по умолчанию: admin / admin. При первом входе система попросит сменить пароль.
http://localhost:9090Вместо того чтобы строить графики с нуля, импортируйте популярный дашборд Node Exporter Full (ID: 1860):
1860 и нажмите LoadМгновенно появятся графики: использование CPU, load average, доступная память, дисковый I/O, сетевой трафик и многое другое.
Не открывайте Grafana и Prometheus напрямую в интернет без защиты. Настройте Nginx как обратный прокси и добавьте SSL-сертификат для шифрования соединения.
sudo apt install nginx -y
sudo nano /etc/nginx/sites-available/grafana
server {
listen 80;
server_name monitoring.yourdomain.com;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
sudo ln -s /etc/nginx/sites-available/grafana /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
Добавьте SSL с Certbot:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d monitoring.yourdomain.com
Prometheus может отправлять оповещения при превышении заданных порогов. Например, оповещение при CPU > 85% в течение 5 минут:
# /etc/prometheus/alert.rules.yml
groups:
- name: server_alerts
rules:
- alert: HighCPUUsage
expr: 100 - (avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100) > 85
for: 5m
labels:
severity: warning
annotations:
summary: "Высокая нагрузка на CPU на {{ $labels.instance }}"
description: "Использование CPU > 85% в течение 5 минут"
- alert: LowDiskSpace
expr: (node_filesystem_avail_bytes / node_filesystem_size_bytes) * 100 < 10
for: 2m
labels:
severity: critical
annotations:
summary: "Критически мало места на диске {{ $labels.instance }}"
Добавьте ссылку в prometheus.yml:
rule_files:
- "/etc/prometheus/alert.rules.yml"
--storage.tsdb.retention.time=30d в systemd-сервисе# Проверьте, что Prometheus собирает данные
curl http://localhost:9090/api/v1/targets
# Проверьте метрики Node Exporter
curl http://localhost:9100/metrics | grep node_cpu
# Проверьте статус всех сервисов
sudo systemctl status prometheus node_exporter grafana-server
Теперь у вас есть полноценная система мониторинга сервера: сбор метрик через Prometheus, визуализация в реальном времени через Grafana и автоматические оповещения по настраиваемым правилам. Этот стек даёт вам полную видимость состояния VPS и помогает действовать проактивно до того, как проблемы затронут пользователей.
Если вы хотите сосредоточиться на приложении, а не на инфраструктуре, услуги администрирования серверов CLIQHOST включают мониторинг, обслуживание и специализированную техническую поддержку. Вы также можете начать прямо сейчас с производительного VPS SSD и самостоятельно реализовать эту конфигурацию. Нужна помощь? Свяжитесь с нами — мы всегда рядом.
Реальные отзывы клиентов, которые доверяют CLIQHOST за производительность, надёжность и профессиональную техническую поддержку.
"Перенесли интернет-магазин с зарубежного хостинга — разница огромная: страницы открываются мгновенно, а поддержка отвечает за минуты, на румынском."
"Перенесли 12 клиентских сайтов на CLIQHOST. Бесплатная миграция, нулевой даунтайм, а настройка cPanel — именно то, что нужно нашей команде. Очень рекомендую."
"Наш VPS NVMe спокойно держит пики трафика. Полный root, локальный дата-центр и оплата в MDL — всё, что мы хотели от провайдера."