Поиск по сайту:

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


На этой странице

  1. Основные понятия, которые необходимо знать
  2. Предпосылки
  3. Добавить нового пользователя и каталог
  4. Установка Prometheus на Rocky Linux
  5. Настройка служебного файла Prometheus
  6. Установка Node Exporter в Rocky Linux
  7. Настройка Node_exporter как службы
  8. Добавить node_exporter в Prometheus
  9. Проверьте установку Prometheus и Node Exporter
  10. Заключение

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

Первоначально Prometheus был создан Soundcloud в 2012 году. С тех пор проект Prometheus, принятый некоторыми известными компаниями, стал более крупным проектом с очень активными разработчиками и сообществом. А в 2016 году проект Prometheus завершается в рамках Фонда облачных вычислений (CNCF).

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

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

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

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

Экспортер узла предоставляет аппаратные и связанные с ядром матрицы с машин 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

2. После этого создайте новый каталог конфигурации /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 вручную из архива или файла tar.gz.

Выберите версию Prometheus по этой ссылке. Для этого примера собирались установить последнюю версию 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.

2. Затем скопируйте все конфигурации 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

3. Затем отредактируйте конфигурацию 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, как показано ниже.

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: "prometheus"

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
      - targets: ["192.168.1.10:9090"]

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

4. Теперь выполните следующую команду, чтобы изменить каталоги конфигурации и данных на пользователя promethues.

sudo chown prometheus:prometheus /etc/prometheus
sudo chown prometheus:prometheus /var/lib/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

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

2. Затем перезагрузите диспетчер systemd, чтобы применить новую конфигурацию.

sudo systemctl daemon-reload

3. Теперь выполните следующую команду, чтобы запустить и включить службу Prometheus, а затем проверьте ее текущее состояние.

sudo systemctl enable --now prometheus
sudo systemctl status prometheus

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

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

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

http://192.168.1.10:9090/

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

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

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

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

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

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

1. Измените рабочий каталог на /usr/src и загрузите двоичный файл экспортера узлов с помощью следующей команды.

cd /usr/src/
wget https://github.com/prometheus/node_exporter/releases/download/v1.3.0/node_exporter-1.3.0.linux-amd64.tar.gz

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

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

Теперь вы получите новый каталог node_exporter-VERSION.OS.

2. Затем переместите двоичный файл экспортера узла в каталог /usr/local/bin с помощью следующей команды.

mv node_exporter-*/node_exporter /usr/local/bin

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

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

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

1. Выполните следующую команду, чтобы создать нового системного пользователя.

sudo adduser -M -r -s /sbin/nologin node_exporter

2. Затем создайте новый служебный файл для экспортера узлов /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

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

3. Теперь перезагрузите диспетчер systemd, чтобы применить новую конфигурацию.

sudo systemctl daemon-reload

4. Запустите и включите службу node_exporter с помощью следующей команды.

sudo systemctl enable --now node_exporter

После этого проверьте текущий статус сервиса node_exporter.

sudo systemctl status node_exporter

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

5. Средство экспорта узлов работает на порту по умолчанию 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))

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

Добавьте node_exporter в Prometheus

После завершения установки Prometheus и средства экспорта узлов добавьте средство экспорта узлов на сервер 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']

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

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

sudo systemctl restart prometheus

И вы добавили экспортер узлов на сервер Prometheus.

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

1. Вернитесь на панель управления Prometheus, откройте меню Статус и выберите Цели.

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

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

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

3. Другой пример: проверьте скорость сети с помощью запроса node_network_speed_bytes, затем перейдите на вкладку График. И вы увидите аналогичный вывод, как показано ниже.

Теперь вы успешно установили Prometheus и средство экспорта узлов в системе Rocky Linux.

Заключение

Поздравляем! Вы изучили базовую установку и настройку системы мониторинга Prometheus и экспортера узлов в системе Rocky Linux.

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