Мониторинг балансировщиков нагрузки с помощью Prometheus
Для балансировщиков нагрузки от VK Cloud можно настроить мониторинг — сбор и экспорт метрик OpenStack Octavia с помощью Prometheus и визуализацию этих метрик на дашбордах с помощью Grafana.
Далее будет показано, как настроить мониторинг балансировщика нагрузки с помощью сервисов Grafana и Prometheus, развернутых на ВМ с ОС Linux. Если в вашей инфраструктуре уже настроено окружение Grafana и Prometheus, пропустите действия, связанные с его развертыванием и настройкой.
-
Установите клиент OpenStack с пакетами
octaviaиneutronи пройдите аутентификацию в проекте. -
Разверните из магазина приложений сервис Grafana. Если вы настраиваете мониторинг для балансировщика в приватной сети, то ВМ, на которой разворачивается сервис, должна быть в одной подсети с этим балансировщиком. Сервисы из магазина приложений уже содержат базовые настройки для работы в VK Cloud. Подробнее о доступных настройках — в официальной документации Grafana.
-
Подключитесь к ВМ, на которой установлен сервис Grafana, и установите на ней Prometheus:
sudo apt updatewget https://github.com/prometheus/prometheus/releases/download/v2.45.1/prometheus-2.45.1.linux-amd64.tar.gztar xvf prometheus-2.45.1.linux-amd64.tar.gzcd prometheus-2.45.1.linux-amd64
-
Перейдите в личный кабинет VK Cloud.
-
Выберите проект.
-
Перейдите в раздел Виртуальные сети → Балансировщики нагрузки.
Будет отображен список балансировщиков.
-
Нажмите на название нужного балансировщика.
-
В блоке IP-адреса найдите и запишите IP-адреса балансировщика.
-
В блоке Информация о балансировщике найдите и запишите ID балансировщика.
Выполните команду:
openstack loadbalancer listener create \--name prometheus-listener \--protocol PROMETHEUS \--protocol-port 9100 \<ID_БАЛАНСИРОВЩИКА>
-
Подключитесь к ВМ, на которой установлен Prometheus.
-
Откройте файл настроек Prometheus:
nano /etc/prometheus/prometheus.yml -
Найдите блок
scrape_configsи добавьте в него настройку:- job_name: 'Octavia'static_configs:- targets: ['<IP-АДРЕС_БАЛАНСИРОВЩИКА>:9100']Здесь
<IP-АДРЕС_БАЛАНСИРОВЩИКА>— внутренний или внешний IP-адрес балансировщика нагрузки. Используйте внешний IP-адрес, если сервер Grafana и Prometheus находится не в той же приватной подсети, что и балансировщик. -
Запустите Prometheus:
sudo apt install screenscreen -dm ./prometheus --config.file=./prometheus.yml --web.listen-address=localhost:9090Если настройка выполнялась на запущенном Prometheus, перезапустите его:
systemctl restart prometheus
- Авторизуйтесь в Grafana.
- Добавьте источник данных Prometheus в Grafana, если это не сделано ранее:
- Перейдите в раздел Configuration → Data sources.
- Нажмите Add data source.
- Выберите тип источника данных:
Prometheus. - В поле URL введите
http://localhost:9090. - Нажмите Save & test.
- Добавьте готовый дашборд для метрик Octavia:
- Перейдите в раздел Dashboards.
- Нажмите кнопку NEW и выберите в меню пункт Import.
- В поле Import via grafana.com введите ID:
15828. - Нажмите кнопку Load.
- В поле Prometheus выберите ранее созданный источник данных
Prometheus. - Нажмите кнопку Import.
- Убедитесь, что дашборд создан:
- Перейдите в раздел Dashboards → Browse.
- Откройте страницу дашборда OpenStack Octavia Amphora Load Balancer.
Работающая ВМ с Grafana и Prometheus потребляет вычислительные ресурсы. Если она вам больше не нужна, удалите ее.