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

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

Prometheus & Grafana: Гайд по мониторингу bare metal серверов

calendar_month Jun 21, 2026 schedule 11 мин. чтения visibility 11 просмотров
Prometheus & Grafana: Bare Metal Server Monitoring Guide
info

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

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

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

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

Почему мониторинг выделенного сервера важен

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

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

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

Понимание Prometheus и Grafana

Prometheus и Grafana образуют мощный стек мониторинга с открытым исходным кодом, который стал отраслевым стандартом. Они идеально дополняют друг друга: Prometheus занимается сбором и хранением данных, а Grafana предоставляет уровень визуализации.

Prometheus: Сборщик метрик

Prometheus — это набор инструментов для мониторинга и оповещения систем с открытым исходным кодом, изначально разработанный в SoundCloud. Он разработан для обеспечения надежности и масштабируемости, что делает его идеальным для bare metal сред. Ключевые особенности включают:

  • Многомерная модель данных: Данные временных рядов идентифицируются по имени метрики и парам ключ/значение.
  • Гибкий язык запросов (PromQL): Позволяет выполнять мощные и точные запросы к собранным метрикам.
  • Модель Pull: Prometheus активно собирает метрики с настроенных целей через заданные интервалы.
  • Обнаружение сервисов: Интегрируется с различными механизмами для автоматического обнаружения новых целей.
  • Оповещение: Интегрируется с Alertmanager для обработки оповещений на основе выражений PromQL.

Для мониторинга bare metal Prometheus обычно собирает метрики с 'экспортеров'. Наиболее распространенным экспортером для метрик на уровне хоста является Node Exporter.

Grafana: Мощный инструмент визуализации

Grafana — это веб-приложение для аналитики и интерактивной визуализации с открытым исходным кодом. Оно подключается к различным источникам данных, включая Prometheus, для создания красивых и информативных дашбордов. С Grafana вы можете:

  • Создавать динамические дашборды: Создавайте настраиваемые дашборды с различными типами панелей (графики, одиночные статистики, таблицы, тепловые карты и т. д.).
  • Исследовать данные: Детализируйте метрики с помощью мощных конструкторов запросов.
  • Настраивать оповещения: Настраивайте оповещения прямо из ваших дашбордов на основе пороговых значений метрик.
  • Сотрудничать: Делитесь дашбордами и разрешайте членам команды просматривать или редактировать их.

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

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

  • Выделенный сервер от Valebyte: С правами root или sudo. Это руководство предполагает использование сервера Ubuntu 22.04 LTS, но шаги в значительной степени аналогичны для других дистрибутивов на основе Debian.
  • Базовые знания командной строки Linux: Знакомство с командами, такими как cd, mkdir, cp, wget, tar, systemctl.
  • Подключение к Интернету: Для загрузки необходимых пакетов и бинарных файлов.
  • Настройка брандмауэра: Вам потребуется открыть определенные порты. В качестве примера мы будем использовать UFW (Uncomplicated Firewall).
  • Требуемые порты:
    • Prometheus: Порт по умолчанию 9090 (для веб-интерфейса)
    • Node Exporter: Порт по умолчанию 9100 (для метрик)
    • Grafana: Порт по умолчанию 3000 (для веб-интерфейса)

Сначала обновите список пакетов вашей системы:

sudo apt update
sudo apt upgrade -y

Установите curl и wget, если они еще не установлены, так как они полезны для загрузки файлов:

sudo apt install -y curl wget
rocket_launch Быстрый выбор

Need a dedicated server?

Compare prices from top providers. Configure and order in minutes.

Выделенные серверы arrow_forward

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

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

1. Настройка Prometheus

Создание пользователя и каталогов 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, чтобы получить последнюю стабильную версию. На момент написания мы будем использовать версию-заполнитель.

# Проверьте последнюю версию на странице загрузки Prometheus
PROMETHEUS_VERSION="2.48.0" # Замените на последнюю стабильную версию

wget https://github.com/prometheus/prometheus/releases/download/v${PROMETHEUS_VERSION}/prometheus-${PROMETHEUS_VERSION}.linux-amd64.tar.gz
tar xvf prometheus-${PROMETHEUS_VERSION}.linux-amd64.tar.gz
cd prometheus-${PROMETHEUS_VERSION}.linux-amd64

sudo mv prometheus /usr/local/bin/
sudo mv promtool /usr/local/bin/
sudo chown prometheus:prometheus /usr/local/bin/prometheus
sudo chown prometheus:prometheus /usr/local/bin/promtool

sudo cp -r consoles /etc/prometheus
sudo cp -r console_libraries /etc/prometheus

Настройка Prometheus

Создайте файл конфигурации Prometheus /etc/prometheus/prometheus.yml. Пока мы начнем с базовой конфигурации.

sudo nano /etc/prometheus/prometheus.yml

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

global:
  scrape_interval: 15s

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

Установите соответствующие права владения для файла конфигурации:

sudo chown prometheus:prometheus /etc/prometheus/prometheus.yml

Создание службы Systemd для Prometheus

Это позволяет 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

[Install]
WantedBy=multi-user.target

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

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

Проверка статуса Prometheus

sudo systemctl status prometheus

Вы должны увидеть статус 'active (running)' (активно (работает)). Вы также можете проверить логи:

sudo journalctl -u prometheus -f

2. Настройка Node Exporter

Node Exporter предоставляет широкий спектр аппаратных метрик и метрик ОС (ЦП, память, дисковые операции ввода-вывода, сетевая статистика и т. д.) с сервера, на котором он запущен.

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

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

Загрузка и установка Node Exporter

Посетите страницу загрузки Prometheus для получения последней версии Node Exporter.

# Проверьте последнюю версию на странице загрузки Prometheus
NODE_EXPORTER_VERSION="1.7.0" # Замените на последнюю стабильную версию

wget https://github.com/prometheus/node_exporter/releases/download/v${NODE_EXPORTER_VERSION}/node_exporter-${NODE_EXPORTER_VERSION}.linux-amd64.tar.gz
tar xvf node_exporter-${NODE_EXPORTER_VERSION}.linux-amd64.tar.gz
cd node_exporter-${NODE_EXPORTER_VERSION}.linux-amd64

sudo mv node_exporter /usr/local/bin/
sudo chown node_exporter:node_exporter /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=node_exporter
Group=node_exporter
Type=simple
ExecStart=/usr/local/bin/node_exporter

[Install]
WantedBy=multi-user.target

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

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

Проверка статуса Node Exporter

sudo systemctl status node_exporter

Вы должны увидеть статус 'active (running)' (активно (работает)). Вы также можете проверить метрики непосредственно с вашего сервера:

curl http://localhost:9100/metrics

Это выведет большое количество метрик в виде обычного текста.

3. Настройка Grafana

Установка Grafana

Grafana предоставляет официальные репозитории APT для простой установки.

sudo apt install -y apt-transport-https software-properties-common wget
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 -a /etc/apt/sources.list.d/grafana.list

sudo apt update
sudo apt install grafana -y

Запуск и включение Grafana

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

Проверка статуса Grafana

sudo systemctl status grafana-server

Вы должны увидеть статус 'active (running)' (активно (работает)).

4. Настройка брандмауэра (UFW)

Чтобы получить доступ к веб-интерфейсам Prometheus и Grafana, вам необходимо открыть соответствующие порты в вашем брандмауэре. Предполагая, что UFW включен:

sudo ufw allow 9090/tcp comment 'Разрешить веб-интерфейс Prometheus'
sudo ufw allow 9100/tcp comment 'Разрешить метрики Node Exporter'
sudo ufw allow 3000/tcp comment 'Разрешить веб-интерфейс Grafana'
sudo ufw reload

Если у вас включен SSH (что рекомендуется), убедитесь, что порт 22 также открыт: sudo ufw allow 22/tcp.

Настройка Prometheus для сбора метрик с Node Exporter

Теперь, когда Node Exporter запущен и предоставляет метрики, нам нужно указать Prometheus собирать их. Отредактируйте файл конфигурации Prometheus:

sudo nano /etc/prometheus/prometheus.yml

Добавьте новый job_name в раздел scrape_configs для Node Exporter. Поскольку Node Exporter находится на том же сервере, мы будем использовать localhost:9100.

global:
  scrape_interval: 15s

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

  - job_name: 'node_exporter'
    static_configs:
      - targets: ['localhost:9100'] # Или замените localhost на IP вашего целевого сервера

Сохраните и выйдите из файла. Затем перезапустите Prometheus, чтобы применить изменения:

sudo systemctl restart prometheus

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

1. Доступ к веб-интерфейсу Grafana

Откройте веб-браузер и перейдите по адресу http://YOUR_SERVER_IP:3000. Вы должны увидеть страницу входа в Grafana.

Учетные данные для входа по умолчанию:

  • Имя пользователя: admin
  • Пароль: admin

Вам будет предложено немедленно изменить пароль по умолчанию. Выберите надежный, безопасный пароль.

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

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

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

Сила Grafana заключается в ее обширной библиотеке дашбордов, созданных сообществом. Популярным дашбордом для метрик Node Exporter является Node Exporter Full (ID 1860).

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

Теперь вы должны увидеть комплексный дашборд, отображающий различные метрики с вашего выделенного сервера, включая использование ЦП, памяти, дисковые операции ввода-вывода, сетевой трафик и многое другое!

rocket_launch Быстрый выбор

Need a dedicated server?

Compare prices from top providers. Configure and order in minutes.

Выделенные серверы arrow_forward

Тестирование вашей настройки мониторинга

Чтобы убедиться, что все работает как ожидалось:

  • Веб-интерфейс Prometheus: Перейдите по адресу http://YOUR_SERVER_IP:9090. Нажмите 'Status' -> 'Targets' (Статус -> Цели). Вы должны увидеть цели 'prometheus' и 'node_exporter' со статусом 'UP' (работает). В противном случае проверьте логи и конфигурацию Prometheus.
  • Метрики Node Exporter: Откройте http://YOUR_SERVER_IP:9100/metrics в вашем браузере. Вы должны увидеть страницу, полную необработанных метрик.
  • Дашборд Grafana: Взаимодействуйте с дашбордом Node Exporter Full. Изменяйте временные диапазоны, наблюдайте за данными в реальном времени и убедитесь, что все панели отображают данные корректно.

Расширенные аспекты мониторинга

Оповещение с помощью Alertmanager

Хотя это руководство сосредоточено на базовой настройке, полное решение для мониторинга включает оповещение. Alertmanager Prometheus обрабатывает оповещения, отправленные клиентскими приложениями, группируя, дедуплицируя и маршрутизируя их в каналы уведомлений, такие как электронная почта, Slack, PagerDuty и т. д.

Мониторинг нескольких серверов

Чтобы отслеживать несколько выделенных серверов Valebyte, просто установите Node Exporter на каждый сервер, который вы хотите мониторить. Затем в файле prometheus.yml вашего центрального сервера Prometheus добавьте IP-адрес каждого сервера и порт Node Exporter (например, 192.168.1.10:9100) в список целей задания node_exporter. Не забудьте открыть порт 9100 на брандмауэре каждого отслеживаемого сервера.

Лучшие практики безопасности для мониторинга

  • Брандмауэр: Открывайте порты мониторинга (9090, 9100, 3000) только для доверенных сетей или IP-адресов. Для Grafana рассмотрите возможность размещения ее за обратным прокси (например, Nginx или Apache) с HTTPS для безопасного доступа.
  • Аутентификация: Всегда меняйте пароли Grafana по умолчанию. Рассмотрите возможность интеграции Grafana с внешним поставщиком аутентификации (LDAP, OAuth) для производственных сред.
  • Выделенные пользователи: Запуск Prometheus и Node Exporter под непривилегированными пользователями (как показано в этом руководстве) ограничивает потенциальный ущерб в случае компрометации службы.

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

Даже при тщательном выполнении шагов вы можете столкнуться с проблемами. Вот как их диагностировать:

1. Служба не запускается (Prometheus, Node Exporter, Grafana)

  • Проверьте статус службы:
    sudo systemctl status prometheus
    sudo systemctl status node_exporter
    sudo systemctl status grafana-server
    Ищите 'active (running)' (активно (работает)) или конкретные сообщения об ошибках.
  • Изучите логи:
    sudo journalctl -u prometheus -f
    sudo journalctl -u node_exporter -f
    sudo journalctl -u grafana-server -f
    Логи — ваш лучший помощник для понимания того, почему служба не запустилась. Ищите ошибки разрешений, проблемы с файлом конфигурации или конфликты портов.
  • Синтаксис файла конфигурации: Для Prometheus вы можете проверить prometheus.yml на наличие синтаксических ошибок:
    /usr/local/bin/promtool check config /etc/prometheus/prometheus.yml
    Это покажет вам, есть ли какие-либо ошибки парсинга.

2. Prometheus не собирает метрики с целей (отсутствуют метрики Node Exporter)

  • Проверьте цели в веб-интерфейсе Prometheus: Перейдите по адресу http://YOUR_SERVER_IP:9090/targets. Если Node Exporter указан, но имеет статус 'DOWN' (не работает), проверьте столбец 'Error' (Ошибка) для получения подсказок.
  • Брандмауэр на отслеживаемом сервере: Убедитесь, что порт 9100 (Node Exporter) открыт на сервере, где запущен Node Exporter. Если Prometheus находится на другом сервере, убедитесь, что его IP-адрес разрешен брандмауэром сервера Node Exporter.
  • Node Exporter запущен: Убедитесь, что Node Exporter активен и доступен локально на отслеживаемом сервере:
    sudo systemctl status node_exporter
    curl http://localhost:9100/metrics
    Если curl не работает, Node Exporter не запущен или не прослушивает ожидаемый порт/интерфейс.
  • Конфигурация Prometheus: Дважды проверьте запись targets в /etc/prometheus/prometheus.yml на наличие опечаток (например, localhost:9100 или правильный IP-адрес). Не забудьте перезапустить Prometheus после любых изменений конфигурации.

3. Grafana не отображает данные или "Ошибка источника данных"

  • Подключение к источнику данных Prometheus: В Grafana перейдите в 'Configuration' (Конфигурация) -> 'Data sources' (Источники данных), нажмите на ваш источник данных Prometheus и нажмите 'Save & test' (Сохранить и проверить). Если это не удается, проверьте IP-адрес и порт сервера Prometheus в конфигурации источника данных Grafana.
  • Брандмауэр на сервере Prometheus: Убедитесь, что порт 9090 (Prometheus) открыт на сервере, где запущен Prometheus, что позволяет Grafana подключаться.
  • Prometheus запущен и собирает метрики: Убедитесь, что Prometheus запущен и активно собирает метрики Node Exporter (согласно шагу 2 по устранению неполадок). Если Prometheus не собирает данные, Grafana не сможет ничего отобразить.
  • Конфигурация дашборда: Если некоторые панели пусты, убедитесь, что запросы внутри этих панелей верны и ссылаются на правильные метрики. Иногда дашбордам сообщества могут потребоваться небольшие корректировки для конкретных версий Prometheus или имен метрик.

4. Проблемы с разрешениями

Если службы не запускаются или не записывают данные, проверьте разрешения файлов и каталогов. Убедитесь, что выделенные пользователи (prometheus, node_exporter) владеют своими соответствующими каталогами и файлами, как это настроено в файлах службы systemd.

ls -la /usr/local/bin/prometheus
ls -la /etc/prometheus/prometheus.yml
ls -la /var/lib/prometheus

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

check_circle Заключение

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

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

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

Prometheus Grafana голое железо мониторинг выделенного сервера настройка мониторинга сервера мониторинг голое железо Prometheus Node Exporter настройка дашборда Grafana мониторинг Linux сервера выделенные серверы Valebyte инструменты мониторинга сисадмина мониторинг серверной инфраструктуры
support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.