bolt Valebyte VPS от $4/мес — NVMe, запуск за 60 секунд.

Получить VPS arrow_forward
eco Начальный Туториал

Мониторинг Prometheus и Grafana на 'голом железе': Пошаговая инструкция

calendar_month Aug 18, 2026 schedule 6 мин. чтения visibility 14 просмотров
Prometheus & Grafana Monitoring on Bare Metal: A How-To Guide
info

Нужен сервер для этого гайда? Мы предлагаем выделенные серверы и VPS в 50+ странах с мгновенной настройкой.

Настройка надежной системы мониторинга серверов с Prometheus и Grafana на выделенном сервере обычно требует минимум 2 vCPU, 4 ГБ ОЗУ и 50 ГБ NVMe хранилища для самого сервера мониторинга, способного обрабатывать до 10 отслеживаемых конечных точек. Этот учебник представляет собой практическое, пошаговое руководство по развертыванию этих мощных инструментов для получения глубокого понимания вашей серверной инфраструктуры и производительности приложений.

Нужен сервер для этого гайда?

Разверните VPS или выделенный сервер за минуты.

Почему Prometheus и Grafana для мониторинга серверов?

Prometheus и Grafana образуют мощный стек с открытым исходным кодом для мониторинга серверов и приложений. Prometheus превосходно справляется со сбором и хранением временных рядов данных, предлагая гибкий язык запросов (PromQL) для анализа и оповещений. Grafana, в свою очередь, предоставляет обширные, настраиваемые дашборды для визуализации этих данных, делая сложные метрики легко усваиваемыми. Вместе они предлагают комплексное решение для отслеживания состояния серверов, использования ресурсов и метрик, специфичных для приложений, что крайне важно для поддержания стабильных и высокопроизводительных сервисов, таких как игровые серверы, веб-хостинг, базы данных или CI/CD-конвейеры.

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

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

  • Два сервера: Один выделенный сервер или мощный VPS для стека Prometheus/Grafana («сервер мониторинга») и как минимум один сервер для мониторинга («отслеживаемый сервер»).
  • Операционная система: Ubuntu 22.04 LTS или аналогичный дистрибутив на базе Debian на обоих серверах.
  • Доступ по SSH: Пользователь root или пользователь с привилегиями sudo на обоих серверах.
  • Межсетевой экран: UFW включен и настроен для разрешения трафика SSH (порт 22), Prometheus (порт 9090), Grafana (порт 3000) и Node Exporter (порт 9100).

Минимальные требования к серверу для стека мониторинга (Сервер мониторинга)

Для сервера, на котором размещаются Prometheus и Grafana, рассмотрите следующие базовые спецификации:

  • vCPU: 2 ядра
  • ОЗУ: 4 ГБ
  • Диск: 50 ГБ NVMe (для производительности и хранения данных)
  • Пропускная способность: 1 ТБ/месяц

Эти спецификации подходят для мониторинга до 10-15 конечных точек с типичными объемами метрик. Для более крупных развертываний потребуется больше ресурсов.

Пошаговая установка и настройка

Шаг 1: Обновление системы и установка зависимостей (Сервер мониторинга)

Начните с обновления списка пакетов вашего сервера мониторинга и установки необходимых утилит.


sudo apt update
sudo apt upgrade -y
sudo apt install -y wget curl gnupg2 software-properties-common apt-transport-https

Шаг 2: Установка сервера Prometheus (Сервер мониторинга)

Prometheus обычно не входит в стандартные репозитории, поэтому мы загрузим его бинарный файл напрямую.

Загрузка и извлечение Prometheus


PROMETHEUS_VERSION="2.48.0" # Check for the latest stable version on prometheus.io
wget https://github.com/prometheus/prometheus/releases/download/v${PROMETHEUS_VERSION}/prometheus-${PROMETHEUS_VERSION}.linux-amd64.tar.gz
tar xvfz prometheus-${PROMETHEUS_VERSION}.linux-amd64.tar.gz
sudo mv prometheus-${PROMETHEUS_VERSION}.linux-amd64 /usr/local/prometheus

Создание пользователя и каталогов Prometheus


sudo useradd --no-create-home --shell /bin/false prometheus
sudo mkdir /etc/prometheus
sudo mkdir /var/lib/prometheus
sudo chown prometheus:prometheus /var/lib/prometheus

Настройка Prometheus

Создайте базовый файл конфигурации Prometheus по адресу /etc/prometheus/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'] # Prometheus собирает метрики с самого себя

Установка разрешений и создание службы Systemd


sudo chown -R prometheus:prometheus /etc/prometheus
sudo chown prometheus:prometheus /usr/local/prometheus/prometheus
sudo chown prometheus:prometheus /usr/local/prometheus/promtool
sudo cp /usr/local/prometheus/consoles /usr/local/prometheus/console_libraries /etc/prometheus/
sudo chown -R prometheus:prometheus /etc/prometheus/consoles
sudo chown -R prometheus:prometheus /etc/prometheus/console_libraries

sudo nano /etc/systemd/system/prometheus.service

Добавьте конфигурацию службы:


[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target

[Service]
User=prometheus
Group=prometheus
Type=simple
ExecStart=/usr/local/prometheus/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 \
    --web.external-url=http://<YOUR_MONITORING_SERVER_IP>:9090

[Install]
WantedBy=multi-user.target

Замените <YOUR_MONITORING_SERVER_IP> на публичный IP-адрес или доменное имя вашего сервера.

Запуск Prometheus и включение межсетевого экрана


sudo systemctl daemon-reload
sudo systemctl start prometheus
sudo systemctl enable prometheus
sudo ufw allow 9090/tcp

Убедитесь, что Prometheus запущен, перейдя по адресу http://<YOUR_MONITORING_SERVER_IP>:9090 в вашем веб-браузере. Вы должны увидеть пользовательский интерфейс Prometheus.

Шаг 3: Установка Node Exporter (Отслеживаемый сервер)

Node Exporter запускается на каждом сервере, который вы хотите отслеживать, предоставляя системные метрики для сбора Prometheus.

Загрузка и извлечение Node Exporter

На вашем *отслеживаемом* сервере:


NODE_EXPORTER_VERSION="1.7.0" # Check for the latest stable version
wget https://github.com/prometheus/node_exporter/releases/download/v${NODE_EXPORTER_VERSION}/node_exporter-${NODE_EXPORTER_VERSION}.linux-amd64.tar.gz
tar xvfz node_exporter-${NODE_EXPORTER_VERSION}.linux-amd64.tar.gz
sudo mv node_exporter-${NODE_EXPORTER_VERSION}.linux-amd64 /usr/local/node_exporter

Создание пользователя и службы Node Exporter


sudo useradd --no-create-home --shell /bin/false node_exporter
sudo chown -R node_exporter:node_exporter /usr/local/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/node_exporter/node_exporter

[Install]
WantedBy=multi-user.target

Запуск Node Exporter и включение межсетевого экрана


sudo systemctl daemon-reload
sudo systemctl start node_exporter
sudo systemctl enable node_exporter
sudo ufw allow 9100/tcp

Убедитесь, что Node Exporter запущен, посетив http://<YOUR_MONITORED_SERVER_IP>:9100/metrics в вашем браузере. Вы должны увидеть страницу, полную метрик.

Добавление Node Exporter в конфигурацию Prometheus (Сервер мониторинга)

Вернувшись на ваш *сервер мониторинга*, отредактируйте /etc/prometheus/prometheus.yml, чтобы добавить новую цель:


sudo nano /etc/prometheus/prometheus.yml

Добавьте новую запись scrape_configs:


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

  - job_name: 'node_exporter'
    static_configs:
      - targets: ['<YOUR_MONITORED_SERVER_IP>:9100'] # Замените на фактический IP
        labels:
          instance: 'my_first_server'

Перезагрузите Prometheus для применения изменений:


sudo systemctl reload prometheus

Проверьте пользовательский интерфейс Prometheus (http://<YOUR_MONITORING_SERVER_IP>:9090/targets), чтобы убедиться, что Node Exporter указан и работает корректно.

Шаг 4: Установка Grafana (Сервер мониторинга)

Grafana предоставляет уровень визуализации для ваших данных Prometheus.

Добавление GPG-ключа и репозитория Grafana


sudo wget -q -O /usr/share/keyrings/grafana.key https://apt.grafana.com/gpg.key
echo "deb [signed-by=/usr/share/keyrings/grafana.key] https://apt.grafana.com stable main" | sudo tee /etc/apt/sources.list.d/grafana.list
sudo apt update

Установка Grafana


sudo apt install -y grafana

Запуск Grafana и включение межсетевого экрана


sudo systemctl start grafana-server
sudo systemctl enable grafana-server
sudo ufw allow 3000/tcp

Получите доступ к Grafana по адресу http://<YOUR_MONITORING_SERVER_IP>:3000. Логин по умолчанию: admin / admin. Вам будет предложено изменить пароль.

Добавление Prometheus в качестве источника данных в Grafana

  1. Войдите в Grafana.
  2. Нажмите на значок шестеренки (Configuration) на левой боковой панели, затем Data sources.
  3. Нажмите Add data source и выберите Prometheus.
  4. Установите Name (например, Prometheus).
  5. Для URL введите http://localhost:9090 (поскольку Grafana находится на том же сервере).
  6. Нажмите Save & Test. Вы должны увидеть сообщение «Data source is working».

Шаг 5: Импорт дашбордов и создание оповещений (Сервер мониторинга)

Импорт дашборда Node Exporter

Grafana Labs предоставляет множество дашбордов, созданных сообществом. Популярным для Node Exporter является дашборд с ID 1860.

  1. На левой боковой панели нажмите на значок плюса (Create), затем Import.
  2. Введите 1860 в поле «Import via grafana.com» и нажмите Load.
  3. Выберите ваш источник данных Prometheus и нажмите Import.

Теперь вы должны увидеть комплексный дашборд, визуализирующий метрики с вашего отслеживаемого сервера.

Базовое оповещение с помощью Prometheus и Grafana

Prometheus обрабатывает правила оповещений, в то время как Grafana может визуализировать и отправлять уведомления об этих оповещениях.

  1. Правила оповещений Prometheus: Создайте файл, например /etc/prometheus/alert.rules.yml, с правилами (например, высокое использование ЦП, мало места на диске).
  2. Конфигурация Prometheus: Обновите prometheus.yml, чтобы включить rule_files: ['/etc/prometheus/alert.rules.yml'].
  3. Alertmanager: Для расширенной маршрутизации уведомлений (электронная почта, Slack, PagerDuty) установите и настройте Prometheus Alertmanager.
  4. Оповещения Grafana: Вы также можете настроить оповещения непосредственно на дашбордах Grafana, которые могут запускать уведомления на основе результатов запросов.
rocket_launch Быстрый выбор

Ищете сервер, который просто работает?

Valebyte VPS — NVMe, поддержка 24/7, развёртывание за 60 секунд.

Смотреть тарифы VPS arrow_forward

Масштабирование вашей системы мониторинга

Ресурсы, необходимые для вашего стека мониторинга Prometheus и Grafana, сильно зависят от количества отслеживаемых конечных точек, частоты сбора данных и периода хранения ваших метрик. Крайне важно выбрать подходящее серверное оборудование, чтобы ваша система мониторинга оставалась надежной и производительной по мере роста вашей инфраструктуры.

Количество отслеживаемых конечных точек (Node Exporter) vCPU/Ядра ОЗУ Диск (Тип + ГБ) Ежемесячная пропускная способность
До 10 2 vCPU 4 ГБ 50 ГБ NVMe 1 ТБ
10 - 50 4 vCPU 8 ГБ 100 ГБ NVMe 2 ТБ
50 - 150 6-8 ядер 16-32 ГБ 200 ГБ NVMe 5 ТБ
150+ (Высокая плотность) 8+ ядер 32+ ГБ 500+ ГБ NVMe (RAID 1) 10+ ТБ

Устранение распространенных проблем

  • Пользовательский интерфейс Prometheus недоступен (9090): Проверьте межсетевой экран (sudo ufw status) и статус службы Prometheus (sudo systemctl status prometheus). Убедитесь, что --web.external-url правильно установлен в файле службы.
  • Node Exporter недоступен (9100): Проверьте межсетевой экран на отслеживаемом сервере и статус службы Node Exporter.
  • Цели недоступны в Prometheus: Проверьте сетевое соединение между серверами мониторинга и отслеживаемыми серверами. Убедитесь, что Node Exporter запущен на цели и его IP/порт указаны правильно в prometheus.yml.
  • Ошибка источника данных Grafana: Убедитесь, что Prometheus запущен на порту 9090. Проверьте логи сервера Grafana (sudo journalctl -u grafana-server -f) на наличие ошибок.
  • Отсутствующие метрики в Grafana: Убедитесь, что в вашей панели мониторинга выбран правильный источник данных Prometheus. Проверьте, действительно ли Prometheus собирает данные с цели (проверьте пользовательский интерфейс Prometheus -> Status -> Targets).
  • Недостаточно места на диске: Prometheus хранит данные метрик. Настройте политики хранения в prometheus.yml (например, --storage.tsdb.retention.time=30d) или рассмотрите решения для удаленного хранения для долгосрочного хранения.

table_chart Monitoring Server Resource Comparison (Valebyte Offerings)

Option vCPU/Cores RAM Storage Best for
Valebyte VPS (Entry-Level) 2 vCPU 4 GB 80 GB NVMe Small-scale monitoring (up to 10 endpoints, 30-day retention)
Valebyte Dedicated (Standard) 4 Cores 16 GB 240 GB NVMe Medium-to-large scale (up to 150 endpoints, 90-day retention), critical monitoring

check_circle Заключение

Вы успешно развернули мощный стек мониторинга Prometheus и Grafana на выделенном сервере, способный предоставить глубокие аналитические данные о вашей инфраструктуре. Эта настройка является фундаментальной для проактивного управления состоянием сервера, оптимизации производительности и обеспечения надежности ваших сервисов. По мере роста вашей инфраструктуры рассмотрите возможность масштабирования вашего сервера мониторинга с помощью дополнительных ресурсов для поддержания оптимальной производительности. Для надежных выделенных серверов и высокопроизводительных VPS-опций для размещения вашего стека мониторинга или сервисов, которые вы хотите отслеживать, изучите предложения Valebyte.

help Часто задаваемые вопросы

Был ли этот гайд полезен?

Ваш отзыв помогает нам улучшать гайды.

Поделиться записью:

Отправьте гайд тому, кому он может пригодиться.

Telegram VKVK WhatsApp Facebook LinkedIn XX

Мониторинг Prometheus Grafana Мониторинг bare metal серверов Мониторинг серверной инфраструктуры Мониторинг самохостинга Руководство по установке Prometheus Руководство по настройке Grafana Настройка Node Exporter Мониторинг выделенного сервера Мониторинг VPS PromQL
support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.