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 за производительность, надёжность и профессиональную техническую поддержку.
"We moved our online shop from a foreign host and the difference is night and day — pages load instantly and support replies in minutes, in Romanian."
"Migrated 12 client sites to CLIQHOST. Free migration, zero downtime, and the cPanel setup is exactly what my team needed. Highly recommend."
"Our NVMe VPS handles traffic spikes without a sweat. Full root, local datacenter, and billing in MDL — everything we wanted from a provider."