2.9.26.2 Настройка Prometheus с применением системы визуализации данных Grafana
Скачать документ Установка и настройка Prometheus на сервере
Установка экспортера на целевом (клиентском) сервере
Установка и настройка Grafana
Окружение
- Версия РЕД ОС: 7.3
- Конфигурация: Сервер графический
- Версия ПО: grafana-11.2.0-1, golang-github-prometheus-2.49.1-1, prometheus-node_exporter-1.6.0-1
Prometheus — программное обеспечение с открытым исходным кодом, используемое для мониторинга различных систем (например, нагрузки на сервер). В prometheus происходит запись метрик в реальном времени в базу данных временных рядов.
Установка и настройка Prometheus на сервере
Для установки prometheus выполните команду:
dnf install golang-github-prometheus
Запустите prometheus и добавьте его в автозагрузку:
systemctl enable prometheus --now
Проверьте статус службы:
systemctl status prometheus
В статусе должно отображаться active(running).
Мониторинг можно производить через веб-интерфейс, введя в адресную строку браузера http://<IP-адрес_сервера>:9090/graph
.
Установка экспортера на целевом (клиентском) сервере
Экспортер — программное обеспечение (клиентская часть), задача которого заключается в экспорте информации о машине в формате, понятном Prometheus. Устанавливается и настраивается непосредственно на клиентском сервере.
Существует множество экспортеров для разных систем и сервисов. Большое количество экспортеров доступно на официальном сайте.
Установка node exporter из репозитория
В качестве примера будет рассмотрена настройка одного из самых популярных экспортеров — Node Exporter, который собирает множество системных метрик (процессор, память и т.д.) для оценки состояния сервера и его нагрузки. Node Exporter доступен в репозитории РЕД ОС.
Создайте пользователя nodeusr:
useradd -rs /bin/false nodeusr
Для установки экспортера выполните команду (потребуются права администратора системы):
sudo dnf install prometheus-node_exporter
Установка node exporter с внешнего ресурса
Однако не все из существующих экспортеров доступны для установки из репозитория РЕД ОС. Далее будет рассмотрен пример установки экспортера node exporter с официального сайта Prometheus. Согласно приведенному примеру можно устанавливать и другие экспортеры с официального сайта Prometheus.
Для установки экспортера скачайте последнюю версию программы на официальном сайте либо используйте команду:
wget https://github.com/prometheus/node_exporter/releases/download/v1.5.0/node_exporter-1.5.0.linux-amd64.tar.gz
Перейдите в каталог со скачанным архивом (в примере /home/user/Загрузки) и распакуйте его:
cd /home/user/Загрузки tar -xvzf node_exporter-1.5.0.linux-amd64.tar.gz
Затем создайте пользователя nodeusr:
useradd -rs /bin/false nodeusr
Установите экспортер путем копирования:
mv node_exporter-1.5.0.linux-amd64/node_exporter /usr/bin/
Настройте политики безопасности SELinux:
restorecon -v /usr/bin/node_exporter
Настройка node exporter
Создайте службу для запуска:
nano /etc/systemd/system/node_exporter.service
со следующим содержимым:
[Unit]
Description=Node Exporter
After=network.target
[Service]
User=nodeusr
Group=nodeusr
Type=simple
ExecStart=/usr/bin/node_exporter
[Install]
WantedBy=multi-user.target
Запустите node_exporter и добавьте его в автозагрузку:
systemctl enable node_exporter --now
Проверьте статус службы:
systemctl status node_exporter
В статусе должно отображаться active(running).
Для отображения метрик введите в адресную строку браузера http://<IP-адрес_клиентского_сервера>:9100/metrics
.
На сервере откройте конфигурационный файл (необходимы права суперпользователя):
nano /etc/prometheus/prometheus.yml
и дополните секцию scrape_configs
следующими строками:
- job_name: 'node_1'
static_configs:
- targets: ['<IP-адрес_клиентского_сервера>:9100']
Для применения изменений перезапустите prometheus:
systemctl restart prometheus
Если после перезапуска prometheus в статусе отображается failed, необходимо проверить корректность заполнения файла конфигурации. Ошибки отображаются в журнале /var/log/messages.
Мониторинг можно производить через веб-интерфейс, указав в адресной строке браузера https://<IP-адрес_сервера_Prometheus>:9090/targets
.
Установка и настройка Grafana
Grafana — платформа с открытым исходным кодом для визуализации, мониторинга и анализа данных. Grafana позволяет пользователям создавать дашборды с панелями, каждая из которых отображает определенные показатели в течение установленного периода времени. Каждый дашборд универсален, поэтому его можно настроить для конкретного проекта или с учетом любых потребностей разработки и/или бизнеса.
Установка Grafana
Для установки Grafana выполните команду:
dnf install grafana
Запустите grafana-server и добавьте его в автозагрузку:
systemctl enable grafana-server --now
Проверьте статус сервера:
systemctl status grafana-server
В статусе должно отображаться active(running).
Настройка Grafana
Веб-интерфейс доступен по адресу http://<IP-адрес_сервера>:3000/
.
Логин и пароль для входа: admin/admin. При первом входе будет запрошена смена пароля.
Далее добавьте источник данных для Grafana, выбрав Configuration - Data Sources - Add data source.
Выберите из списка Prometheus и нажмите Select.
В настройках укажите IP-адрес и порт сервера с Prometheus, остальные настройки ситуативны и устанавливаются по желанию. Для сохранения настроек нажмите Save & Test.
Загрузка дашбордов
Существует множество готовых дашбордов (в формате JSON), которые можно импортировать. Например, id=9614 или id=13978. Наиболее универсальным является id=1860, его можно скачать по ссылке (в примере использована ревизия 27).
Для указанных в Окружении версий Prometheus и Grafana могут быть использованы дашборды с ревизией 27 и ниже. В случае использования ревизий 28 и выше при работе могут возникнуть ошибки.
Для импорта дашборда выберите Create - Import.
Далее, нажав Upload JSON file, выберите скачанный раннее JSON-файл. В появившемся окне Options выберите Prometheus и нажмите Import.
Загруженный дашборд 1860 выглядит следующим образом:
Каталог с данными prometheus располагается по пути /var/lib/prometheus.
Дата последнего изменения: 08.11.2024
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.