VK Cloud logo

Мониторинг балансировщиков нагрузки с помощью Prometheus

Для балансировщиков нагрузки от VK Cloud можно настроить мониторинг — сбор и экспорт метрик OpenStack Octavia с помощью Prometheus и визуализацию этих метрик на дашбордах с помощью Grafana.

Далее будет показано, как настроить мониторинг балансировщика нагрузки с помощью сервисов Grafana и Prometheus, развернутых на ВМ с ОС Linux. Если в вашей инфраструктуре уже настроено окружение Grafana и Prometheus, пропустите действия, связанные с его развертыванием и настройкой.

Подготовительные шаги

  1. Установите клиент OpenStack с пакетами octavia и neutron и пройдите аутентификацию в проекте.

  2. Разверните из магазина приложений сервис Grafana. Если вы настраиваете мониторинг для балансировщика в приватной сети, то ВМ, на которой разворачивается сервис, должна быть в одной подсети с этим балансировщиком. Сервисы из магазина приложений уже содержат базовые настройки для работы в VK Cloud. Подробнее о доступных настройках — в официальной документации Grafana.

  3. Подключитесь к ВМ, на которой установлен сервис 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

1. Получите сведения о балансировщике

  1. Перейдите в личный кабинет VK Cloud.

  2. Выберите проект.

  3. Перейдите в раздел Виртуальные сетиБалансировщики нагрузки.

    Будет отображен список балансировщиков.

  4. Нажмите на название нужного балансировщика.

  5. В блоке IP-адреса найдите и запишите IP-адреса балансировщика.

  6. В блоке Информация о балансировщике найдите и запишите ID балансировщика.

2. Создайте Prometheus Listener

Выполните команду:

openstack loadbalancer listener create \    --name prometheus-listener \     --protocol PROMETHEUS \     --protocol-port 9100 \    <ID_БАЛАНСИРОВЩИКА>

3. Выполните интеграцию с Prometheus

  1. Подключитесь к ВМ, на которой установлен Prometheus.

  2. Откройте файл настроек Prometheus:

    nano /etc/prometheus/prometheus.yml
  3. Найдите блок scrape_configs и добавьте в него настройку:

    - job_name: 'Octavia'    static_configs:      - targets: ['<IP-АДРЕС_БАЛАНСИРОВЩИКА>:9100']

    Здесь <IP-АДРЕС_БАЛАНСИРОВЩИКА> — внутренний или внешний IP-адрес балансировщика нагрузки. Используйте внешний IP-адрес, если сервер Grafana и Prometheus находится не в той же приватной подсети, что и балансировщик.

  4. Запустите Prometheus:

    sudo apt install screenscreen -dm ./prometheus --config.file=./prometheus.yml --web.listen-address=localhost:9090

    Если настройка выполнялась на запущенном Prometheus, перезапустите его:

    systemctl restart prometheus

4. Добавьте дашборд Octavia в Grafana

  1. Авторизуйтесь в Grafana.
  2. Добавьте источник данных Prometheus в Grafana, если это не сделано ранее:
    1. Перейдите в раздел Configuration → Data sources.
    2. Нажмите Add data source.
    3. Выберите тип источника данных: Prometheus.
    4. В поле URL введите http://localhost:9090.
    5. Нажмите Save & test.
  3. Добавьте готовый дашборд для метрик Octavia:
    1. Перейдите в раздел Dashboards.
    2. Нажмите кнопку NEW и выберите в меню пункт Import.
    3. В поле Import via grafana.com введите ID: 15828.
    4. Нажмите кнопку Load.
  4. В поле Prometheus выберите ранее созданный источник данных Prometheus.
  5. Нажмите кнопку Import.
  6. Убедитесь, что дашборд создан:
    1. Перейдите в раздел Dashboards → Browse.
    2. Откройте страницу дашборда OpenStack Octavia Amphora Load Balancer.

Удалите неиспользуемые ресурсы

Работающая ВМ с Grafana и Prometheus потребляет вычислительные ресурсы. Если она вам больше не нужна, удалите ее.