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

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

Prometheus & Grafana: Мониторинг Bare Metal. Руководство

calendar_month Aug 30, 2026 schedule 7 мин. чтения visibility 11 просмотров
Prometheus & Grafana Bare Metal Monitoring Tutorial
info

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

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

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

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

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

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

Независимо от того, размещаете ли вы высоконагруженное веб-приложение, требовательный игровой сервер, сложный кластер баз данных или конвейер CI/CD, понимание характеристик производительности вашего сервера является ключом к проактивному обслуживанию, устранению неполадок и масштабированию. Этот учебник посвящен настройке данного стека на выделенном сервере от Valebyte, обеспечивая изоляцию и чистую мощность, необходимые для серьезного мониторинга.

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

  • Выделенный сервер или мощный VPS (для самого стека мониторинга) под управлением Ubuntu 22.04 LTS.
  • Доступ root или sudo к серверу.
  • Базовое знакомство с командной строкой Linux.
  • Непривилегированный пользователь для запуска служб Prometheus и Grafana.
  • Брандмауэр, настроенный для разрешения доступа к Prometheus (порт 9090), Grafana (порт 3000) и Node Exporter (порт 9100).

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

Для небольшой или средней системы мониторинга (мониторинг 5-10 серверов) сам сервер мониторинга должен иметь:

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

Для более крупных развертываний рассмотрите более высокие спецификации, как подробно описано в таблице масштабирования ниже.

Пошаговое руководство: Настройка Prometheus и Grafana

Шаг 1: Подготовка сервера

Сначала обновите системные пакеты и установите необходимые утилиты:

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

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

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

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

Загрузите последнюю стабильную версию Prometheus. Проверьте страницу загрузки Prometheus для получения самой актуальной версии. На момент написания этой статьи текущей является версия 2.47.0.

PROMETHEUS_VERSION="2.47.0"
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
cd prometheus-${PROMETHEUS_VERSION}.linux-amd64

Создайте необходимые каталоги и скопируйте бинарные файлы и файлы конфигурации:

sudo mkdir -p /etc/prometheus /var/lib/prometheus
sudo cp prometheus promtool /usr/local/bin/
sudo cp consoles/ console_libraries/ /etc/prometheus/
sudo cp prometheus.yml /etc/prometheus/prometheus.yml

Установите права владения для безопасности:

sudo chown -R prometheus:prometheus /etc/prometheus /var/lib/prometheus
sudo chown prometheus:prometheus /usr/local/bin/prometheus /usr/local/bin/promtool

Шаг 3: Настройка Prometheus

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

sudo nano /etc/prometheus/prometheus.yml

Замените существующий раздел scrape_configs следующим или добавьте новую задачу для локального 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']

  - job_name: 'node_exporter'
    static_configs:
      - targets: ['localhost:9100'] # Target for the local Node Exporter

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

Шаг 4: Создание службы Prometheus Systemd

Создайте файл службы systemd для управления Prometheus:

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/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.listen-address=":9090"
Restart=always

[Install]
WantedBy=multi-user.target

Перезагрузите systemd, запустите Prometheus и включите его автозапуск при загрузке:

sudo systemctl daemon-reload
sudo systemctl start prometheus
sudo systemctl enable prometheus
sudo systemctl status prometheus

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

Шаг 5: Установка Node Exporter на отслеживаемых серверах (и на сервере Prometheus)

Node Exporter собирает метрики на уровне хоста (ЦП, память, диск, сеть) и предоставляет их Prometheus. Установите его на любой сервер, который вы хотите мониторить, включая сам сервер Prometheus.

Загрузите последнюю стабильную версию Node Exporter (например, 1.6.1):

NODE_EXPORTER_VERSION="1.6.1"
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
cd node_exporter-${NODE_EXPORTER_VERSION}.linux-amd64

Скопируйте бинарный файл и установите права владения:

sudo cp node_exporter /usr/local/bin
sudo chown prometheus:prometheus /usr/local/bin/node_exporter

Создайте службу systemd для Node Exporter:

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

Добавьте следующее содержимое:

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

[Service]
User=prometheus
Group=prometheus
Type=simple
ExecStart=/usr/local/bin/node_exporter --web.listen-address=":9100"
Restart=always

[Install]
WantedBy=multi-user.target

Перезагрузите systemd, запустите Node Exporter и включите его:

sudo systemctl daemon-reload
sudo systemctl start node_exporter
sudo systemctl enable node_exporter
sudo systemctl status node_exporter

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

Важно: Если вы устанавливаете Node Exporter на другие серверы, не забудьте открыть порт 9100 в их брандмауэрах и добавить их IP-адреса в файл /etc/prometheus/prometheus.yml на вашем сервере Prometheus:

  - job_name: 'remote_servers'
    static_configs:
      - targets: ['REMOTE_SERVER_IP_1:9100', 'REMOTE_SERVER_IP_2:9100']

После изменения prometheus.yml перезапустите Prometheus: sudo systemctl restart prometheus.

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

Добавьте GPG-ключ и репозиторий Grafana в вашу систему:

sudo wget -q -O - https://apt.grafana.com/gpg.key | sudo gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/grafana.gpg > /dev/null
echo "deb [signed-by=/etc/apt/trusted.gpg.d/grafana.gpg] https://apt.grafana.com stable main" | sudo tee /etc/apt/sources.list.d/grafana.list

Обновите пакеты и установите Grafana:

sudo apt update
sudo apt install -y grafana

Запустите Grafana и включите ее автозапуск при загрузке:

sudo systemctl daemon-reload
sudo systemctl start grafana-server
sudo systemctl enable grafana-server
sudo systemctl status grafana-server

Убедитесь, что Grafana запущена, перейдя по адресу http://YOUR_SERVER_IP:3000/ в вашем браузере. Логин по умолчанию — admin / admin. Вам будет предложено изменить пароль при первом входе.

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

Войдите в Grafana (admin/admin).

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

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

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

  1. Нажмите значок '+' (Create) на левой боковой панели, затем 'Import'.
  2. В поле 'Import via grafana.com' введите 1860 (популярный ID дашборда Node Exporter Full).
  3. Нажмите 'Load'.
  4. На следующем экране выберите ваш источник данных 'Prometheus' из выпадающего списка.
  5. Нажмите 'Import'.

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

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

  • Служба не запускается: Проверьте логи systemd с помощью sudo journalctl -u prometheus.service или sudo journalctl -u grafana-server.service на наличие ошибок.
  • Prometheus не собирает метрики с целей: Проверьте IP-адреса и порты целей в /etc/prometheus/prometheus.yml. Проверьте страницу 'Status -> Targets' в пользовательском интерфейсе Prometheus на наличие ошибок сбора. Убедитесь, что брандмауэры открыты как на сервере Prometheus (порты 9090, 9100), так и на отслеживаемых серверах (порт 9100).
  • Grafana не подключается к Prometheus: Дважды проверьте URL источника данных Prometheus в Grafana. Убедитесь, что Prometheus запущен и доступен с сервера Grafana.
  • Отсутствуют метрики в Grafana: Убедитесь, что Node Exporter запущен на целевом сервере и Prometheus успешно собирает с него метрики. Проверьте страницу 'Graph' в Prometheus, чтобы убедиться, что метрики собираются (например, node_cpu_seconds_total).
  • Проблемы с разрешениями: Убедитесь, что пользователи prometheus и grafana являются владельцами своих соответствующих каталогов и бинарных файлов.

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

Масштаб нагрузки (отслеживаемые серверы) vCPU (для отслеживаемой нагрузки) ОЗУ (для отслеживаемой нагрузки) Диск (Тип + ГБ) Ежемесячная пропускная способность (для отслеживаемой нагрузки)
Малый (1-5 серверов, личные проекты, легкий веб-хостинг) 4-8 vCPU 8-16 GB 240 GB NVMe 100 Mbps
Средний (5-15 серверов, несколько микросервисов, умеренные базы данных, игровые серверы) 8-16 ядер 32-64 GB 480 GB NVMe (RAID1) 1 Gbps
Большой (15+ серверов, высоконагруженные API, крупные кластеры БД, CI/CD, стриминг) 16-32+ ядер 64-128+ GB 1 TB+ NVMe (RAID10) 10 Gbps

Дальнейшая настройка и расширенный мониторинг

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

  • Alertmanager: Интегрируйте Alertmanager с Prometheus для отправки уведомлений (по электронной почте, в Slack, PagerDuty) при превышении критических порогов.
  • Экспортеры для конкретных приложений: Установите другие экспортеры Prometheus для баз данных (например, mysqld_exporter, postgres_exporter), веб-серверов (например, apache_exporter, nginx_exporter) или очередей сообщений.
  • Пользовательские дашборды: Создавайте собственные дашборды Grafana, адаптированные к вашим конкретным метрикам приложений и бизнес-потребностям.
  • Правила записи (Recording Rules): Используйте правила записи Prometheus для предварительной агрегации часто запрашиваемых данных, улучшая время загрузки дашбордов.
  • Удаленное хранилище: Для долгосрочного хранения или высокой доступности рассмотрите возможность интеграции Prometheus с решениями удаленного хранения.

table_chart Hosting Options for Your Monitoring Stack (Prometheus/Grafana)

Option vCPU / Cores RAM Storage Best for
Powerful VPS 4 vCPU 8 GB 100 GB NVMe Small-medium monitoring loads (up to 10 servers), cost-effective for non-critical monitoring.
Entry-Level Dedicated Server 4 physical cores 16 GB 240 GB NVMe (RAID1) Medium-large monitoring loads (10-25+ servers), critical infrastructure monitoring, maximum performance isolation, and long-term data retention.

check_circle Заключение

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

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

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

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

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

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

Telegram VKVK WhatsApp Facebook LinkedIn XX

Прометей Графана на голое железо Настройка мониторинга серверов Установка Прометей Ubuntu Установка Графана на выделенный сервер Руководство по Node Exporter Самостоятельный мониторинг Мониторинг выделенного сервера Руководство по настройке Прометей Дашборды Графана для серверов Мониторинг Valebyte
support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.