// ssd vps

Как установить и настроить Prometheus и Grafana на VPS Linux: полное руководство по мониторингу сервера

September 02, 2026 · by Alex M.

Как установить и настроить Prometheus и Grafana на VPS Linux: полное руководство по мониторингу сервера

Мониторинг сервера — одна из ключевых практик DevOps, которую необходимо внедрять с самого начала. Без метрик в реальном времени проблемы с производительностью — избыточное потребление CPU, нехватка памяти, переполненный диск — могут оставаться незамеченными до тех пор, пока сайт или приложение не упадёт полностью.

Prometheus и Grafana вместе образуют одну из самых популярных open-source стеков мониторинга. Prometheus собирает и хранит метрики, а Grafana отображает их в красивых интерактивных дашбордах. В этом руководстве вы узнаете, как шаг за шагом установить и настроить оба инструмента на VPS SSD с Ubuntu 22.04.

Почему Prometheus + Grafana?

Существует множество решений для мониторинга — Zabbix, Netdata, Nagios — но комбинация Prometheus + Grafana завоёвывает всё большую популярность благодаря:

  • Масштабируемости: одинаково хорошо работает на небольшом VPS и на кластере из сотен узлов
  • Гибкости: сотни готовых exporters для Nginx, MySQL, PostgreSQL, Docker и других сервисов
  • Активному сообществу: готовые дашборды на grafana.com/grafana/dashboards
  • Лёгкой интеграции с Alertmanager, CI/CD и другими DevOps-инструментами

Если вы используете VPS NVMe для критически важных приложений, эти инструменты могут сэкономить вам часы отладки.

Предварительные требования

Перед началом убедитесь, что у вас есть:

  • VPS с Ubuntu 22.04 (минимум 1 vCPU, 1 ГБ RAM — рекомендуется 2 ГБ)
  • Root-доступ или пользователь с правами sudo
  • Настроенный SSH и активный файрвол UFW
  • Доменное имя или публичный IP-адрес

Обновите систему перед началом:

sudo apt update && sudo apt upgrade -y

Шаг 1: Установка Prometheus

1.1 Создайте выделенного пользователя

Никогда не запускайте Prometheus от имени root. Создайте системного пользователя без login shell:

sudo useradd --no-create-home --shell /bin/false prometheus

1.2 Загрузите и установите 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

1.3 Настройте prometheus.yml

Отредактируйте основной файл конфигурации:

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']

1.4 Создайте systemd-сервис

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

Шаг 2: Установка Node Exporter

Node Exporter предоставляет метрики операционной системы (CPU, RAM, диск, сеть) для Prometheus.

2.1 Загрузите 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

2.2 Создайте systemd-сервис

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 и предоставляет сотни метрик о состоянии вашего сервера.

Шаг 3: Установка Grafana

Grafana превращает сырые данные Prometheus в наглядные интерактивные графики. Именно здесь вы увидите в реальном времени всё, что происходит на вашем VPS.

3.1 Добавьте официальный репозиторий Grafana

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

3.2 Запустите Grafana

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. При первом входе система попросит сменить пароль.

Шаг 4: Подключите Prometheus к Grafana

4.1 Добавьте Data Source

  1. В Grafana перейдите в Configuration → Data Sources → Add data source
  2. Выберите Prometheus
  3. В поле URL введите: http://localhost:9090
  4. Нажмите Save & Test — должно появиться сообщение «Data source is working»

4.2 Импортируйте готовый дашборд

Вместо того чтобы строить графики с нуля, импортируйте популярный дашборд Node Exporter Full (ID: 1860):

  1. Перейдите в Dashboards → Import
  2. Введите ID 1860 и нажмите Load
  3. Выберите ранее созданный Data Source Prometheus
  4. Нажмите Import

Мгновенно появятся графики: использование CPU, load average, доступная память, дисковый I/O, сетевой трафик и многое другое.

Шаг 5: Защитите доступ через Nginx Reverse Proxy

Не открывайте Grafana и Prometheus напрямую в интернет без защиты. Настройте Nginx как обратный прокси и добавьте SSL-сертификат для шифрования соединения.

5.1 Установите Nginx

sudo apt install nginx -y

5.2 Настройте виртуальный хост для Grafana

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

Шаг 6: Настройка Alertmanager (опционально, но рекомендуется)

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"

Советы по оптимизации и лучшие практики

  • Хранение данных: по умолчанию Prometheus хранит данные 15 дней. Измените с помощью --storage.tsdb.retention.time=30d в systemd-сервисе
  • Регулярное резервное копирование: экспортируйте конфигурации и TSDB-снапшоты. На VPS с управляемым хостингом эту задачу можно делегировать нашей команде
  • Аутентификация Grafana: включите LDAP или OAuth для больших команд
  • Дополнительные exporters: добавьте mysqld_exporter для баз данных, nginx_exporter для веб-сервера, blackbox_exporter для внешнего мониторинга URL
  • Разделение сервисов: на продакшене запускайте Grafana и Prometheus на отдельных машинах или используйте выделенный сервер с гарантированными ресурсами

Быстрые проверки после установки

# Проверьте, что 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 и самостоятельно реализовать эту конфигурацию. Нужна помощь? Свяжитесь с нами — мы всегда рядом.

SHARE
// Что говорят наши клиенты

Что говорят наши клиенты

Реальные отзывы клиентов, которые доверяют 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."

AM
Andrei M.
eCommerce owner · Chișinău
★★★★★

"Migrated 12 client sites to CLIQHOST. Free migration, zero downtime, and the cPanel setup is exactly what my team needed. Highly recommend."

EV
Elena V.
Web agency · Bălți
★★★★★

"Our NVMe VPS handles traffic spikes without a sweat. Full root, local datacenter, and billing in MDL — everything we wanted from a provider."

DC
Dmitri C.
SaaS founder · Chișinău