Установка и настройка Prometheus на сервере Установка экспортера на целевом (клиентском) сервере Установка и настройка Grafana
Окружение
Prometheus — программное обеспечение с открытым исходным кодом, используемое для мониторинга различных систем (например, нагрузки на сервер). В prometheus происходит запись метрик в реальном времени в базу данных временных рядов.
Для установки prometheus выполните команду:
dnf install golang-github-prometheus
Запустите prometheus и добавьте его в автозагрузку:
systemctl enable prometheus --now
Проверьте статус службы:
systemctl status prometheus
В статусе должно отображаться active(running).
Мониторинг можно производить через веб-интерфейс, введя в адресную строку браузера http://<IP-адрес_сервера>:9090/graph.
http://<IP-адрес_сервера>:9090/graph
Экспортер — программное обеспечение (клиентская часть), задача которого заключается в экспорте информации о машине в формате, понятном Prometheus. Устанавливается и настраивается непосредственно на клиентском сервере.
Существует множество экспортеров для разных систем и сервисов. Большое количество экспортеров доступно на официальном сайте.
В качестве примера будет рассмотрена настройка одного из самых популярных экспортеров — Node Exporter, который собирает множество системных метрик (процессор, память и т.д.) для оценки состояния сервера и его нагрузки. Node Exporter доступен в репозитории РЕД ОС.
Создайте пользователя nodeusr:
useradd -rs /bin/false nodeusr
Для установки экспортера выполните команду (потребуются права администратора системы):
sudo dnf install prometheus-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:
Установите экспортер путем копирования:
mv node_exporter-1.5.0.linux-amd64/node_exporter /usr/bin/
Настройте политики безопасности SELinux:
restorecon -v /usr/bin/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
Для отображения метрик введите в адресную строку браузера http://<IP-адрес_клиентского_сервера>:9100/metrics.
http://<IP-адрес_клиентского_сервера>:9100/metrics
На сервере откройте конфигурационный файл (необходимы права суперпользователя):
nano /etc/prometheus/prometheus.yml
и дополните секцию scrape_configs следующими строками:
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.
https://<IP-адрес_сервера_Prometheus>:9090/targets
Grafana — платформа с открытым исходным кодом для визуализации, мониторинга и анализа данных. Grafana позволяет пользователям создавать дашборды с панелями, каждая из которых отображает определенные показатели в течение установленного периода времени. Каждый дашборд универсален, поэтому его можно настроить для конкретного проекта или с учетом любых потребностей разработки и/или бизнеса.
Для установки Grafana выполните команду:
dnf install grafana
Запустите grafana-server и добавьте его в автозагрузку:
systemctl enable grafana-server --now
Проверьте статус сервера:
systemctl status grafana-server
Веб-интерфейс доступен по адресу http://<IP-адрес_сервера>:3000/.
http://<IP-адрес_сервера>:3000/
Логин и пароль для входа: admin/admin. При первом входе будет запрошена смена пароля.
Далее добавьте источник данных для Grafana, выбрав Home - Connections - Data Sources - Add data source.
Выберите из списка Prometheus, кликнув по нему ЛКМ.
В настройках укажите IP-адрес и порт сервера с Prometheus, остальные настройки ситуативны и устанавливаются по желанию. Для сохранения настроек нажмите Save & Test.
Существует множество готовых дашбордов (в формате JSON), которые можно импортировать. Например, id=9614 или id=13978. Наиболее универсальным является id=1860, его можно скачать по ссылке (в примере использована ревизия 27).
Для указанных в Окружении версий Prometheus и Grafana могут быть использованы дашборды с ревизией 27 и ниже. В случае использования ревизий 28 и выше при работе могут возникнуть ошибки.
Для импорта дашборда выберите Home - Dashboards и нажмите New - Import.
Далее, нажав Upload dashboard JSON file, выберите скачанный раннее JSON-файл. В появившемся окне Options выберите Prometheus и нажмите Import.
Загруженный дашборд 1860 выглядит следующим образом:
Каталог с данными prometheus располагается по пути /var/lib/prometheus.
Дата последнего изменения: 09.01.2025
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.
Нажимая «Отправить запрос», вы соглашаетесь с условиями обработки персональных данных.
Вы будете получать только актуальную информацию по обновлению безопасности
Подписываясь на уведомления, вы соглашаетесь с условиями обработки персональных данных.
На ваш почтовый адрес отправлено письмо с подтверждением подписки.