В этом руководстве вы узнаете, как установить Prometheus Node Exporter в CentOS 8 Stream. Prometheus Node Exporter используется для отображения аппаратных показателей системы и метрик ОС, таких как использование процессора, диска, памяти и т.д. с подключаемыми коллекторами метрик, чтобы их можно было собирать Prometheus для мониторинга.
Установка экспортера узлов Prometheus на CentOS 8
Прежде чем устанавливать экспортер узлов Prometheus, убедитесь, что Prometheus запущен.
Создание системного пользователя Node Exporter
Чтобы безопасно запустить Node Exporter, необходимо создать для него пользователя. Поэтому выполните приведенные ниже команды, чтобы создать пользователя node_exporter, не входящего в систему.
1 | useradd -M -r -s /bin/false node_exporter |
Это создаст пользователя node_exporter с той же группой, что и имя пользователя.
1 | id node_exporter |
Загрузка и установка Node Exporter на CentOS 8
Затем перейдите на страницу загрузки Prometheus и возьмите последнюю версию Node Exporter tarball (v1.5.0 на момент написания статьи).
1 | wget https://github.com/prometheus/node_exporter/releases/download/v1.5.0/node_exporter-1.5.0.linux-amd64.tar.gz -P /tmp |
После завершения загрузки выполните приведенную ниже команду, чтобы извлечь его.
1 2 | cd /tmp tar xzf node_exporter-*.linux-amd64.tar.gz |
Чтобы установить Node Exporter, вам нужно просто скопировать бинарный файл node_exporter из папки архива в /usr/local/bin.
1 | cp node_exporter-*.linux-amd64/node_exporter /usr/local/bin/ |
Установите права пользователя и группы на бинарный файл node_exporter для пользователя node_exporter, созданного выше.
1 | chown node_exporter:node_exporter /usr/local/bin/node_exporter |
Запуск Node Exporter
Создание службы Node Exporter SystemD
Чтобы запустить Node Exporter в качестве службы, необходимо создать для него файл службы Systemd.
1 | sudo nano /etc/systemd/system/node_exporter.service |
1 2 3 4 5 6 7 8 9 10 11 12 13 | [Unit] Description=Prometheus 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 |
Как указано в разделе Коллекторы, вы можете настроить Node Exporter на отображение определенных системных метрик. Например, для сбора статистики CPU, использования диска и памяти вы можете задать строку ExecStart следующим образом;
1 | ExecStart=/usr/local/bin/node_exporter --collector.cpu --collector.meminfo --collector.loadavg --collector.filesystem |
После этого перезагрузите конфигурацию менеджера systemd.
1 | systemctl daemon-reload |
Запустите и включите Node Exporter для запуска при загрузке системы.
1 | systemctl enable --now node_exporter.service |
Проверьте статус;
1 | systemctl status node_exporter |
Экспортер узлов работает на TCP-порту 9100.
1 | ss -altnp | grep 9100 |
Откройте порт 9100 на FirewallD
Чтобы разрешить удаленное подключение к Node Exporter только с сервера Prometheus, вы можете использовать богатые правила Firewalld следующим образом;
1 2 | firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/32" port port=9100 protocol=tcp accept' --permanent firewall-cmd --reload |
Если необходимо открыть порт для всех
1 2 | sudo firewall-cmd --add-port=9100/tcp --permanent sudo firewall-cmd --reload |
Добавление цели Node Exporter в Prometheus
После установки Node Exporter вы можете добавить цель на сервер Prometheus, чтобы ее можно было соскрести.
Поэтому на сервере Prometheus откройте файл /etc/prometheus/prometheus.yml и добавьте узел, как показано ниже;
1 | sudo nano /etc/prometheus/prometheus.yml |
1 2 3 4 5 6 7 | ## Add Node Exporter - job_name: node_exporter scrape_interval: 5s static_configs: - targets: - localhost:9100 |
Перезапустите службу Prometheus
1 | systemctl restart prometheus |
Проверка статуса цели
Войдите в веб-интерфейс Prometheus и проверьте статус узлов, перейдя в раздел Status > Targets.
статус экспортера узлов
Запросите метрики цели экспортера узлов. Например, свободное дисковое пространство. Просто перейдите на вкладку Graph и выберите node_filesystem_files_free в качестве запроса для выполнения.
Вы также можете проверить метрики из командной строки с помощью команды curl. Например, чтобы проверить метрики хранилища, просто выполните следующую команду;
1 | curl http://localhost:9100/metrics | grep node_ | grep filesystem |
Но на этом мы заканчиваем наше руководство по установке Prometheus Node Exporter на CentOS 8.