Мониторинг. · 4 min read · Nov 19, 2025

Как установить Prometheus и node_exporter на CentOS 7

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

Prometheus был изначально создан компанией SoundCloud в 2012 году, но теперь стал независимым проектом с открытым исходным кодом, который поддерживается сообществом с открытым исходным кодом — все компоненты доступны под лицензией Apache 2 на Github.

В этом руководстве я покажу вам, как установить и настроить Prometheus и node_exporter. Мы установим систему мониторинга Prometheus, а затем настроим node_exporter для сбора метрик с сервера. Мы будем использовать сервер CentOS 7 для этого руководства.

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

  • Сервер CentOS 7
  • Привилегии root

Что мы будем делать?

  1. Создать нового пользователя и скачать Prometheus
  2. Настроить Prometheus как службу Systemd
  3. Настроить Firewalld
  4. Установить и настроить node_exporter
  5. Добавить node_exporter на сервер Prometheus
  6. Тестирование

Шаг 1 - Создать нового пользователя и скачать Prometheus

В этом руководстве служба Prometheus будет работать от имени пользователя, не обладающего правами root. Поэтому нам нужно создать нового пользователя без прав root в системе. Мы создадим нового пользователя с именем ‘prometheus’, и все службы prometheus будут работать под пользователем prometheus.

Создайте нового пользователя ‘prometheus’ с помощью команды ниже.

useradd -m -s /bin/bash prometheus

Новый пользователь создан. Теперь войдите в систему под этим пользователем и скачайте prometheus с помощью команды wget.

su - prometheus  
wget https://github.com/prometheus/prometheus/releases/download/v2.2.1/prometheus-2.2.1.linux-amd64.tar.gz

Извлеките файл prometheus-xx.x.x.tar.gz и переименуйте директорию в ‘prometheus’.

tar -xzvf prometheus-2.2.1.linux-amd64.tar.gz  
mv prometheus-2.2.1.linux-amd64/ prometheus/

Prometheus загружен на сервер, и все файлы prometheus находятся в директории ‘/home/prometheus/prometheus’.

Шаг 2 - Настроить Prometheus как службу Systemd

На этом шаге мы настроим prometheus как службу systemd. Мы создадим новый файл службы prometheus.service в директории ‘/etc/systemd/system’.

Перейдите в директорию ‘/etc/systemd/system/‘ и создайте новый файл службы ‘prometheus.service’ с помощью редактора vim.

cd /etc/systemd/system/  
vim prometheus.service

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


[Unit]  
Description=Prometheus Server  
Documentation=https://prometheus.io/docs/introduction/overview/  
After=network-online.target  
  
[Service]  
User=prometheus  
Restart=on-failure  
  
#Измените эту строку, если вы скачали  
#Prometheus в другом пути  
ExecStart=/home/prometheus/prometheus/prometheus \  
  --config.file=/home/prometheus/prometheus/prometheus.yml \  
  --storage.tsdb.path=/home/prometheus/prometheus/data  
  
[Install]  
WantedBy=multi-user.target

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

Теперь перезагрузите систему systemd с помощью команды systemctl ниже.

systemctl daemon-reload

Запустите службу prometheus и включите её для автоматического запуска при каждом старте системы.

systemctl start prometheus  
systemctl enable prometheus

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

systemctl status prometheus

Убедитесь, что вы получили статус службы ‘Running’.

Или проверьте это с помощью команды netstat ниже.

netstat -plntu

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

Проверьте, что prometheus работает

Prometheus по умолчанию работает на порту ‘9090’.

Шаг 3 - Настроить Firewalld

Если вы используете Firewalld в своей системе, добавьте порт 9090 в список портов Firewalld.

Откройте порт 9090 для доступа к Prometheus с помощью команд firewall-cmd ниже.

firewall-cmd --add-port=9090/tcp --permanent  
firewall-cmd --reload

Теперь откройте веб-браузер и введите IP-адрес сервера с портом 9090.

http://192.168.33.10:9090/graph

Введите ‘http_requests_total’ в поле запроса и нажмите кнопку ‘Execute’.

График Prometheus

И вы увидите HTTP-запросы к серверу prometheus со всей информацией о времени, коде статуса HTTP и методе и т.д.

Шаг 4 - Установить и настроить node_exporter

node_exporter — это экспортер машинных метрик, который может работать на системах *Nix и Linux.

В этом руководстве мы установим node_exporter на том же сервере, что и prometheus. Мы будем мониторить и получать метрики с сервера prometheus.

Войдите в систему под пользователем prometheus и скачайте ‘node_exporter’ с помощью команды wget.

su - prometheus  
wget https://github.com/prometheus/node_exporter/releases/download/v0.16.0-rc.1/node_exporter-0.16.0-rc.1.linux-amd64.tar.gz

Извлеките node_exporter и переименуйте директорию в ‘node_exporter’.

tar -xzvf node_exporter-0.16.0-rc.1.linux-amd64.tar.gz  
mv node_exporter-0.16.0-rc.1.linux-amd64 node_exporter

Далее мы создадим новый файл службы для node_exporter. Вернитесь в оболочку root, перейдите в директорию ‘/etc/systemd/system’ и создайте новый файл службы node_exporter ‘node_exporter.service’ с помощью vim.

cd /etc/systemd/system/  
vim node_exporter.service

Там вставьте конфигурацию службы node_exporter ниже.

[Unit]  
Description=Node Exporter  
Wants=network-online.target  
After=network-online.target  
  
[Service]  
User=prometheus  
ExecStart=/home/prometheus/node_exporter/node_exporter  
  
[Install]  
WantedBy=default.target

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

Теперь перезагрузите систему systemd.

systemctl daemon-reload

Затем запустите службу node_exporter и включите её для автоматического запуска при каждом старте системы.

systemctl start node_exporter  
systemctl enable node_exporter

Служба node_exporter теперь работает на сервере — проверьте это с помощью команды netstat.

netstat -plntu

И вы получите, что node-exporter работает на порту 9100.

Проверьте порт node_exporter

Шаг 5 - Добавить node_exporter на сервер Prometheus

На этом шаге мы добавим node_exporter на сервер prometheus. Войдите в систему под пользователем prometheus и отредактируйте файл конфигурации ‘prometheus.yml’.

Войдите в систему под пользователем prometheus.

su - prometheus

Перейдите в директорию ‘prometheus’ и отредактируйте файл конфигурации ‘prometheus.yml’.

cd prometheus/  
vim prometheus.yml

Под строкой ‘scrape_config’ добавьте новую job_name node_exporter, скопировав и вставив конфигурацию ниже.

  - job_name: 'node_exporter'  
    static_configs:  
      - targets: ['localhost:9100']

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

Добавить node_exporter на сервер Prometheus

Теперь перезапустите службу prometheus.

systemctl restart prometheus

node_exporter был добавлен на сервер prometheus.

Шаг 6 - Тестирование Prometheus и node_exporter

Откройте веб-браузер и введите IP-адрес сервера.

http://192.168.33.10:9090/

Введите коллектор meminfo ‘ node_memory_MemAvailable_bytes ‘ в поле запроса и нажмите кнопку ‘Execute’.

И вы получите результат, как показано ниже.

Результат для node_memory_MemAvailable_bytes

Вы получите доступную память на сервере экземпляра ‘localhost:9100’, и job_name ‘node-exporter’.

Или, если вы хотите получить доступ к необработанным данным node_exporter, вам нужно добавить порт node_exporter 9100 в firewalld.

firewall-cmd --add-port=9100/tcp  
firebase-cmd --reload

А затем введите IP-адрес сервера с портом 9100.

http://192.168.33.10:9100/metrics

И вы получите необработанные данные node_exporter, как показано ниже.

Результат Метрик

Установка и настройка системы мониторинга prometheus с node_exporter на CentOS 7 успешно завершены.

Ссылки

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.