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

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

Prometheus & Grafana: Настройка мониторинга голых серверов

calendar_month Sep 06, 2026 schedule 7 мин. чтения visibility 16 просмотров
Prometheus & Grafana: Bare Metal Server Monitoring Setup Guide
info

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

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

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

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

Зачем Prometheus и Grafana для мониторинга выделенных серверов?

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

Это руководство посвящено установке стека мониторинга (Prometheus и Grafana) на выделенный сервер или мощный VPS, который затем будет отслеживать другие выделенные серверы с помощью Node Exporter. Это гарантирует, что сама система мониторинга имеет выделенные ресурсы и не конкурирует с сервисами, работающими на отслеживаемых машинах.

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

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

  • Выделенный сервер или мощный VPS от Valebyte с чистой установкой Ubuntu 22.04 LTS (или аналогичного дистрибутива на базе Debian). Для самого сервера мониторинга мы рекомендуем как минимум 4 vCPU, 8 ГБ ОЗУ и 100 ГБ NVMe-хранилища для использования в продакшене, что обеспечит хранение данных и отзывчивость дашбордов.
  • Root или sudo доступ к серверу мониторинга.
  • Root или sudo доступ к выделенным серверам, которые вы хотите отслеживать.
  • Базовое понимание интерфейса командной строки Linux.
  • Открытые порты в вашем брандмауэре: 9090 для Prometheus, 3000 для Grafana и 9100 для Node Exporter (на отслеживаемых серверах).

Пошаговое руководство по установке

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

Сначала подключитесь к вашему серверу мониторинга по SSH и обновите списки пакетов и установленные пакеты. Установите необходимые утилиты:

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

Шаг 2: Установка сервера Prometheus

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

  1. Создание пользователя и каталогов Prometheus:
  2. 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
  3. Загрузка и извлечение Prometheus: Замените 2.47.1 на последнюю стабильную версию, если она отличается. Проверьте страницу загрузок Prometheus.
  4. wget https://github.com/prometheus/prometheus/releases/download/v2.47.1/prometheus-2.47.1.linux-amd64.tar.gz
    tar xvfz prometheus-2.47.1.linux-amd64.tar.gz
    sudo cp prometheus-2.47.1.linux-amd64/prometheus /usr/local/bin/
    sudo cp prometheus-2.47.1.linux-amd64/promtool /usr/local/bin/
    sudo cp -r prometheus-2.47.1.linux-amd64/consoles /etc/prometheus
    sudo cp -r prometheus-2.47.1.linux-amd64/console_libraries /etc/prometheus
    sudo chown prometheus:prometheus /usr/local/bin/prometheus
    sudo chown prometheus:prometheus /usr/local/bin/promtool
    sudo chown -R prometheus:prometheus /etc/prometheus/consoles
    sudo chown -R prometheus:prometheus /etc/prometheus/console_libraries
    rm -rf prometheus-2.47.1.linux-amd64.tar.gz prometheus-2.47.1.linux-amd64
  5. Создание файла конфигурации Prometheus (/etc/prometheus/prometheus.yml):
  6. sudo nano /etc/prometheus/prometheus.yml

    Вставьте следующее содержимое. Эта конфигурация включает базовую цель сбора данных (scrape target) для самого Prometheus и заполнитель для целей Node Exporter.

    global:
      scrape_interval: 15s # How frequently to scrape targets
      evaluation_interval: 15s # How frequently to evaluate rules
    
    scrape_configs:
      - job_name: 'prometheus'
        static_configs:
          - targets: ['localhost:9090']
    
      # Add your bare metal servers here after installing Node Exporter
      # - job_name: 'node_exporter'
      #   static_configs:
      #     - targets: ['your_server_ip_1:9100', 'your_server_ip_2:9100']

    Сохраните и выйдите (Ctrl+X, Y, Enter).

  7. Установка прав владения для конфигурации:
  8. sudo chown prometheus:prometheus /etc/prometheus/prometheus.yml
  9. Создание файла службы systemd для Prometheus (/etc/systemd/system/prometheus.service):
  10. sudo nano /etc/systemd/system/prometheus.service

    Вставьте следующее:

    [Unit]
    Description=Prometheus Monitoring System
    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 \
        --web.enable-lifecycle
    
    [Install]
    WantedBy=multi-user.target

    Сохраните и выйдите.

  11. Перезагрузка systemd, запуск и включение Prometheus:
  12. sudo systemctl daemon-reload
    sudo systemctl start prometheus
    sudo systemctl enable prometheus
  13. Проверка статуса Prometheus:
  14. sudo systemctl status prometheus

    Вы должны увидеть active (running). Доступ к пользовательскому интерфейсу Prometheus в вашем браузере по адресу http://YOUR_MONITORING_SERVER_IP:9090.

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

Node Exporter — это агент, который собирает системные метрики (CPU, RAM, дисковый ввод-вывод, сеть) и предоставляет их для сбора Prometheus. Установите его на каждый выделенный сервер, который вы хотите отслеживать.

  1. Создание пользователя и каталогов Node Exporter:
  2. sudo useradd --no-create-home --shell /bin/false node_exporter
  3. Загрузка и извлечение Node Exporter: Замените 1.6.1 на последнюю стабильную версию, если она отличается. Проверьте страницу загрузок Node Exporter.
  4. wget https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz
    tar xvfz node_exporter-1.6.1.linux-amd64.tar.gz
    sudo cp node_exporter-1.6.1.linux-amd64/node_exporter /usr/local/bin/
    sudo chown node_exporter:node_exporter /usr/local/bin/node_exporter
    rm -rf node_exporter-1.6.1.linux-amd64.tar.gz node_exporter-1.6.1.linux-amd64
  5. Создание файла службы systemd для Node Exporter (/etc/systemd/system/node_exporter.service):
  6. 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
    
    [Install]
    WantedBy=multi-user.target

    Сохраните и выйдите.

  7. Перезагрузка systemd, запуск и включение Node Exporter:
  8. sudo systemctl daemon-reload
    sudo systemctl start node_exporter
    sudo systemctl enable node_exporter
  9. Проверка статуса Node Exporter:
  10. sudo systemctl status node_exporter

    Вы должны увидеть active (running). Доступ к метрикам Node Exporter в вашем браузере по адресу http://YOUR_MONITORED_SERVER_IP:9100/metrics.

Шаг 4: Настройка Prometheus для сбора данных с целей Node Exporter

Теперь вернитесь на ваш сервер мониторинга. Отредактируйте конфигурацию Prometheus, чтобы добавить ваши выделенные серверы.

  1. Редактирование конфигурации Prometheus:
  2. sudo nano /etc/prometheus/prometheus.yml
  3. Добавление новых записей job_name для ваших выделенных серверов: Замените your_server_ip_1, your_server_ip_2 на фактические IP-адреса ваших отслеживаемых серверов.
  4. # ... existing configuration ...
    
    scrape_configs:
      - job_name: 'prometheus'
        static_configs:
          - targets: ['localhost:9090']
    
      - job_name: 'node_exporter'
        static_configs:
          - targets: ['192.168.1.10:9100', '192.168.1.11:9100', 'your_next_server_ip:9100']
        # Optionally, add labels for better organization
        # labels:
        #   environment: production
        #   location: datacenter_a

    Сохраните и выйдите.

  5. Проверка конфигурации Prometheus на наличие синтаксических ошибок:
  6. /usr/local/bin/promtool check config /etc/prometheus/prometheus.yml

    Должно быть выведено SUCCESS!. В противном случае исправьте все обнаруженные ошибки.

  7. Перезагрузка Prometheus для применения изменений:
  8. sudo systemctl reload prometheus
  9. Проверка целей в пользовательском интерфейсе Prometheus: Перейдите по адресу http://YOUR_MONITORING_SERVER_IP:9090/targets. Вы должны увидеть свои цели Node Exporter, перечисленные со статусом 'UP'.

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

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

  1. Добавление GPG-ключа Grafana:
  2. sudo wget -q -O /usr/share/keyrings/grafana.key https://apt.grafana.com/gpg.key
  3. Добавление репозитория Grafana:
  4. echo "deb [signed-by=/usr/share/keyrings/grafana.key] https://apt.grafana.com stable main" | sudo tee /etc/apt/sources.list.d/grafana.list
  5. Обновление кэша apt и установка Grafana:
  6. sudo apt update
    sudo apt install -y grafana
  7. Запуск и включение службы Grafana:
  8. sudo systemctl daemon-reload
    sudo systemctl start grafana-server
    sudo systemctl enable grafana-server
  9. Проверка статуса Grafana:
  10. sudo systemctl status grafana-server

    Вы должны увидеть active (running). Доступ к пользовательскому интерфейсу Grafana в вашем браузере по адресу http://YOUR_MONITORING_SERVER_IP:3000. Логин по умолчанию: admin / admin. Вам будет предложено изменить пароль при первом входе.

Шаг 6: Настройка источника данных и дашборда Grafana

Теперь подключите Grafana к Prometheus и импортируйте полезный дашборд.

  1. Добавление Prometheus в качестве источника данных:
    • Войдите в Grafana (admin/admin).
    • Нажмите на значок шестеренки (Конфигурация) на левой боковой панели, затем 'Источники данных'.
    • Нажмите 'Добавить источник данных'.
    • Выберите 'Prometheus'.
    • Для 'Имя' введите Prometheus.
    • Для 'URL' введите http://localhost:9090.
    • Прокрутите вниз и нажмите 'Сохранить и проверить'. Вы должны увидеть 'Источник данных работает'.
  2. Импорт дашборда Node Exporter:
    • Нажмите на значок '+' (Создать) на левой боковой панели, затем 'Импорт'.
    • В поле 'Импорт через grafana.com' введите 1860 (популярный ID дашборда Node Exporter Full).
    • Нажмите 'Загрузить'.
    • На следующем экране выберите ваш источник данных 'Prometheus' из выпадающего списка.
    • Нажмите 'Импорт'.

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

Варианты использования мониторинга выделенных серверов

С помощью Prometheus и Grafana вы можете отслеживать широкий спектр рабочих нагрузок на выделенных серверах:

  • Веб-хостинг: Отслеживайте запросы Nginx/Apache в секунду, время отклика, одновременные соединения и использование ресурсов для обеспечения оптимальной производительности веб-сайта.
  • Базы данных (например, PostgreSQL, MySQL): Мониторинг задержки запросов, активных соединений, коэффициентов попадания в буфер, дискового ввода-вывода и статуса репликации для поддержания работоспособности базы данных.
  • Игровые серверы: Следите за загрузкой CPU, задержкой сети, количеством игроков и использованием памяти для обеспечения плавного игрового процесса.
  • Стриминговые сервисы: Отслеживайте использование пропускной способности, одновременные потоки и нагрузку на сервер для обеспечения бесперебойной доставки контента.
  • CI/CD конвейеры: Мониторинг ресурсов агентов сборки, дискового пространства и сетевой активности во время процессов непрерывной интеграции и развертывания.
  • Самостоятельно размещенные приложения: Отслеживайте потребление ресурсов пользовательских приложений, почтовых серверов (например, Postfix, Dovecot) или VPN-сервисов (например, OpenVPN, WireGuard) для обеспечения их стабильности.
Быстрый выбор
Нужен выделенный сервер?
Bare metal с NVMe в 70+ локациях — настройка и заказ за пару минут.
К серверам

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

  • Prometheus/Grafana/Node Exporter не запускается: Проверьте sudo systemctl status <service_name> и sudo journalctl -xeu <service_name> на наличие сообщений об ошибках.
  • Prometheus не собирает данные с целей: Проверьте IP-адреса целей и номера портов в prometheus.yml. Убедитесь, что брандмауэры (например, UFW) как на сервере мониторинга, так и на отслеживаемых серверах разрешают трафик на портах 9090 (Prometheus), 3000 (Grafana) и 9100 (Node Exporter). Проверьте http://YOUR_MONITORING_SERVER_IP:9090/targets в пользовательском интерфейсе Prometheus на наличие ошибок сбора данных.
  • Grafana не отображает данные: Убедитесь, что источник данных Prometheus настроен правильно и 'Сохранить и проверить' показывает успех. Убедитесь, что импортированный вами дашборд совместим с метриками Node Exporter.
  • Проблемы с разрешениями: Дважды проверьте владение файлами и каталогами (chown) и разрешения (chmod) для исполняемых файлов и файлов конфигурации Prometheus и Node Exporter.

Правильная серверная инфраструктура имеет решающее значение для эффективного мониторинга. Ниже приведены общие рекомендации по аппаратному обеспечению для вашего сервера мониторинга, основанные на масштабе вашей среды выделенных серверов.

Количество отслеживаемых серверов (с Node Exporter) vCPU / Ядра ОЗУ Диск (Тип + ГБ) Ежемесячная пропускная способность
До 10 серверов 4 vCPU 8 ГБ 100 ГБ NVMe 1 ТБ
10 - 50 серверов 8 ядер 16-32 ГБ 250 ГБ NVMe 2 ТБ
50 - 150 серверов 12-16 ядер 32-64 ГБ 500 ГБ NVMe (или более крупный HDD для долгосрочного хранения) 5 ТБ
150+ серверов (с высокой кардинальностью метрик) 16-24 ядра 64-128 ГБ 1 ТБ+ NVMe (или кластерное решение для хранения данных) 10 ТБ+

table_chart Valebyte Server Options for Hosting the Monitoring Stack

Option vCPU / Cores RAM Storage Best for
Valebyte VPS (e.g., 4C/8GB) 4 vCPU 8 GB 100 GB NVMe Small to medium bare metal environments (up to 50 servers) or development setups.
Valebyte Dedicated Server (e.g., 8C/32GB) 8 Cores 32 GB 500 GB NVMe Large bare metal environments (50+ servers), high-cardinality metrics, or critical production monitoring.

check_circle Заключение

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

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

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

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

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

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

Telegram VKVK WhatsApp Facebook LinkedIn XX

Мониторинг физических серверов Prometheus Grafana Настройка мониторинга сервера Prometheus Node Exporter Дашборды Grafana Мониторинг выделенного сервера Мониторинг self-hosted Мониторинг сервера Ubuntu Руководство по Prometheus Руководство по установке Grafana Мониторинг серверной инфраструктуры
support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.