Мониторинг. · 6 min read · Dec 01, 2025

Как установить Prometheus и Node Exporter на Rocky Linux

Prometheus — это платформа для мониторинга и оповещения с открытым исходным кодом.

Изначально Prometheus был создан компанией Soundcloud в 2012 году. С тех пор проект Prometheus был принят некоторыми известными компаниями и стал более крупным проектом с очень активными разработчиками и сообществом. А в 2016 году проект Prometheus был выпущен под Cloud Native Computing Foundation (CNCF).

Основные понятия, которые вы должны знать

В основном, Prometheus собирает данные и метрики через HTTP-эндпоинты с целевых серверов, а затем хранит все данные в виде временных рядов. В Prometheus данные временных рядов идентифицируются по имени метрики и парам ключ/значение.

Prometheus предоставляет гибкость через Язык Запросов Prometheus (PromQL). Вы можете использовать PromQL для запроса базы данных временных рядов Prometheus.

На целевых серверах вы должны установить приложение ‘exporter‘, которое предоставляет все данные и метрики для Prometheus. ‘Node Exporter’ — это часто используемый экспортер для мониторинга Linux-машин.

Node exporter предоставляет метрики, связанные с аппаратным обеспечением и ядром, с Linux-машин. Он поставляется в виде одного двоичного файла, который будет предоставлять данные и метрики серверу Prometheus.

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

В этой статье вы узнаете, как установить инструмент мониторинга Prometheus и Node Exporter на систему Rocky Linux 8.

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

  • Операционная система: Rocky Linux 8.5 (Green Obsidian)
  • Привилегии root

В этом примере мы используем систему Rocky Linux с IP-адресом ‘192.168.1.10‘.

Теперь давайте начнем.

Добавить нового пользователя и директорию

Сначала вы создадите нового системного пользователя ‘prometheus’, затем создадите новую конфигурационную директорию и директорию данных для установки Prometheus.

  1. Выполните следующую команду для создания нового пользователя ‘prometheus‘.
sudo adduser -M -r -s /sbin/nologin prometheus
  1. После этого создайте новую конфигурационную директорию ‘/etc/prometheus‘ и директорию данных ‘/var/lib/prometheus‘ с помощью следующей команды.
sudo mkdir /etc/prometheus  
sudo mkdir /var/lib/prometheus

Вся конфигурация Prometheus будет доступна в директории ‘/etc/prometheus‘, а все данные Prometheus будут автоматически сохраняться в директории ‘/var/lib/prometheus‘.

Установка Prometheus на Rocky Linux

На этом этапе вы будете устанавливать систему мониторинга Prometheus вручную из tarball или tar.gz файла.

Выберите версию Prometheus по этой ссылке. В этом примере мы собираемся установить последнюю версию Prometheus.

Скачать tarball Prometheus

  1. Измените рабочую директорию на ‘/usr/src’ и загрузите двоичный файл Prometheus с помощью следующей команды.
cd /usr/src  
wget https://github.com/prometheus/prometheus/releases/download/v2.31.1/prometheus-2.31.1.linux-amd64.tar.gz

После завершения процесса загрузки извлеките файл Prometheus.

tar -xf prometheus-2.31.1.linux-amd64.tar.gz

Теперь вы увидите новую директорию ‘prometheus-VERSION.OS‘.

  1. Далее скопируйте все конфигурации Prometheus в директорию ‘/etc/prometheus’ и двоичный файл ‘prometheus‘ в директорию ‘/usr/local/bin‘.

Установите переменную окружения ‘PROM_SRC‘ на директорию ‘/usr/src/prometheus-*‘.

export PROM_SRC=/usr/src/prometheus-*

Скопируйте конфигурацию prometheus ‘prometheus.yml‘ в директорию ‘/etc/prometheus‘.

sudo cp $PROM_SRC/prometheus.yml /etc/prometheus/

Скопируйте двоичный файл ‘prometheus‘ и ‘promtool‘ в директорию ‘/usr/local/bin/‘.

sudo cp $PROM_SRC/prometheus /usr/local/bin/  
sudo cp $PROM_SRC/promtool /usr/local/bin/

Скопируйте шаблоны консоли и библиотеки Prometheus в директорию ‘/etc/prometheus’.

sudo cp -r $PROM_SRC/consoles /etc/prometheus  
sudo cp -r $PROM_SRC/console_libraries /etc/prometheus
  1. Далее отредактируйте конфигурацию Prometheus ‘/etc/prometheus/prometheus.yml‘ с помощью редактора nano.
nano /etc/prometheus/prometheus.yml

В опции ‘scrape_configs‘ вам может потребоваться добавить задачи мониторинга и как собирать все данные с целевого сервера.

Конфигурация по умолчанию поставляется с именем задачи мониторинга ‘prometheus’ и целевым сервером ‘localhost‘ через опцию ‘static_configs‘.

Измените целевой адрес с ‘localhost:9090’ на IP-адрес сервера ‘192.168.1.10:9090‘, как показано ниже.

# Конфигурация для сбора, содержащая ровно один конечный пункт для сбора:  
# Здесь это сам Prometheus.  
scrape_configs:  
  # Имя задачи добавляется как метка `job=` к любым временным рядам, собранным из этой конфигурации.  
  - job_name: "prometheus"  
  
    # metrics_path по умолчанию равен '/metrics'  
    # схема по умолчанию равна 'http'.  
  
    static_configs:  
      - targets: ["192.168.1.10:9090"]

Сохраните конфигурацию и выйдите.

  1. Теперь выполните следующую команду, чтобы изменить конфигурацию и директории данных на пользователя ‘prometheus‘.
sudo chown prometheus:prometheus /etc/prometheus  
sudo chown prometheus:prometheus /var/lib/prometheus

Теперь вы завершили базовую установку prometheus.

Настроить Prometheus

Настройка файла службы Prometheus

На этом этапе вы будете настраивать Prometheus как службу systemd.

  1. Создайте новый файл службы systemd ‘/etc/systemd/system/prometheus.service’ с помощью редактора nano.
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

Сохраните конфигурацию и выйдите.

  1. Далее перезагрузите менеджер systemd, чтобы применить новую конфигурацию.
sudo systemctl daemon-reload
  1. Теперь выполните следующую команду, чтобы запустить и включить службу Prometheus, затем проверьте ее текущее состояние.
sudo systemctl enable --now prometheus  
sudo systemctl status prometheus

Если ваша установка прошла успешно, вы увидите, что служба prometheus активна и работает, как показано ниже.

Настроить Prometheus как службу systemd

Инструмент мониторинга Prometheus теперь доступен на TCP-порту ‘9090‘.

  1. Откройте веб-браузер и введите IP-адрес сервера с портом ‘9090‘ в адресной строке.

http://192.168.1.10:9090/

И вы увидите панель запросов prometheus ниже.

Панель запросов Prometheus

Теперь вы завершили установку prometheus. Перейдите к следующему шагу для установки Node Exporter.

Установка Node Exporter на Rocky Linux

Node exporter является частью проекта prometheus. Вы можете использовать node exporter для экспорта метрик серверов Linux на сервер Prometheus.

На этом этапе вы будете устанавливать node exporter на систему Rocky Linux из tar.gz файла.

Проверьте эту ссылку, чтобы получить последнюю версию node exporter. В этом примере мы установим версию node exporter 1.3.0.

Скачать Node Exporter

  1. Измените рабочую директорию на ‘/usr/src‘ и загрузите двоичный файл node exporter с помощью следующей команды.
cd /usr/src/  
wget https://github.com/prometheus/node_exporter/releases/download/v1.3.0/node_exporter-1.3.0.linux-amd64.tar.gz

Если процесс загрузки завершится, извлеките файл node exporter.

tar -xf node_exporter-1.3.0.linux-amd64.tar.gz

Теперь вы получите новую директорию ‘node_exporter-VERSION.OS‘.

  1. Далее переместите двоичный файл node exporter в директорию ‘/usr/local/bin‘ с помощью следующей команды.
mv node_exporter-*/node_exporter /usr/local/bin

Перейдите к следующему шагу, чтобы настроить node exporter как службу systemd.

Настройка Node_exporter как службы

Перед созданием файла службы node exporter создайте нового системного пользователя ‘node_exporter‘.

  1. Выполните следующую команду для создания нового системного пользователя.
sudo adduser -M -r -s /sbin/nologin node_exporter
  1. Далее создайте новый файл службы для node exporter ‘/etc/systemd/system/node_exporter.service’ с помощью редактора nano.
sudo nano /etc/systemd/system/node_exporter.service

Скопируйте и вставьте следующую конфигурацию.

[Unit]  
Description=Node Exporter  
After=network.target  
  
[Service]  
User=node_exporter  
Group=node_exporter  
Type=simple  
ExecStart=/usr/local/bin/node_exporter  
  
[Install]  
WantedBy=multi-user.target

Сохраните конфигурацию и выйдите.

  1. Теперь перезагрузите менеджер systemd, чтобы применить новую конфигурацию.
sudo systemctl daemon-reload
  1. Запустите и включите службу ‘node_exporter’ с помощью следующей команды.
sudo systemctl enable --now node_exporter

Настроить Node Exporter

После этого проверьте текущее состояние службы ‘node_exporter’.

sudo systemctl status node_exporter

Убедитесь, что служба ‘node_exporter‘ активна и работает.

Настроить Node Exporter как службу systemd

  1. Node exporter работает на порту по умолчанию ‘9100‘. Проверьте с помощью команды ss ниже.
ss -aplnt | grep node

Вы увидите аналогичный вывод ниже.

State    Recv-Q   Send-Q     Local Address:Port     Peer Address:Port   Process  
LISTEN   0        128              0.0.0.0:22            0.0.0.0:*       users:(("sshd",pid=683,fd=4))  
LISTEN   0        128                    *:9090                *:*       users:(("prometheus",pid=709,fd=8))  
LISTEN   0        128                    *:9100                *:*       users:(("node_exporter",pid=5786,fd=3))  
LISTEN   0        128                 [::]:22               [::]:*       users:(("sshd",pid=683,fd=6))

И вы завершили установку node exporter на системе Rocky Linux.

Добавить node_exporter в Prometheus

После завершения установки Prometheus и node exporter добавьте node exporter на сервер Prometheus.

  1. Отредактируйте конфигурацию Prometheus с помощью редактора nano.
sudo nano /etc/prometheus/prometheus.yml

В разделе ‘scrape_config‘ добавьте новую задачу Prometheus, используя следующую конфигурацию. И убедитесь, что вы изменили IP-адрес сервера на ваш целевой сервер.

  - job_name: 'node_exporter_metrics'  
    scrape_interval: 5s  
    static_configs:  
      - targets: ['SERVER-IP:9100']

Сохраните конфигурацию и выйдите.

  1. Теперь перезапустите службу Prometheus, чтобы применить новую конфигурацию.
sudo systemctl restart prometheus

И вы добавили node exporter на сервер Prometheus.

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

  1. Вернитесь на панель управления Prometheus, нажмите меню ‘Status‘ и выберите ‘Targets‘.

Вы увидите две разные конечные точки, ‘prometheus‘ и ‘node_exporter_metrics‘.

Метрики целевых объектов Prometheus

  1. Далее перейдите в меню ‘graph‘ и введите запрос PromQL в строке поиска. В этом примере проверьте подробную информацию об операционной системе, используя запрос ‘node_os_info‘.

И вы увидите подробную информацию о вашей текущей операционной системе.

Примеры запросов PromQL prometheus

  1. В качестве другого примера проверьте скорость сети, используя запрос ‘node_network_speed_bytes‘, затем перейдите на вкладку ‘Graph‘. И вы увидите аналогичный вывод ниже.

Примеры запросов PromQL prometheus

Теперь вы успешно установили Prometheus и node exporter на систему Rocky Linux.

Заключение

Поздравляем! Вы узнали основные шаги установки и настройки системы мониторинга Prometheus и node exporter на системе Rocky Linux.

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

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.