Мониторинг облачного балансировщика нагрузки
Для облачных балансировщиков нагрузки можно настроить мониторинг — собирать и экспортировать метрики OpenStack Octavia в формате Prometheus и подключить Grafana, чтобы отслеживать метрики на дашбордах.
Посмотреть список доступных метрик можно в таблице Метрики Octavia в формате Prometheus.
Настроить мониторинг
Мы не рекомендуем настраивать мониторинг в период максимальной нагрузки вашей инфраструктуры. При увеличении трафика на балансировщике нагрузки растет частота запроса метрик — это влияет на производительность инстансов балансировщика.
- Опционально: выберите способ ограничения доступа к балансировщику.
- Создайте правило балансировщика нагрузки.
- Создайте облачный сервер для Prometheus и Grafana.
- Установите Prometheus на облачном сервере и настройте сбор метрик.
- Установите Grafana на облачном сервере и авторизуйтесь в Grafana.
- Создайте дашборд в Grafana.
1. Опционально: выбрать способ ограничения доступа к балансировщику
Метрики балансировщика будут доступны из интернета по IP-адресу и порту без аутентификации, если:
- балансировщик находится в приватной сети и к нему подключен публичный IP-адрес;
- или балансировщик находится в публичной подсети.
Вы можете ограничить доступ к балансировщику из интернета. Доступный способ ограничения доступа зависит от того, как балансировщик подключен к интернету.
Для балансировщика с публичным IP-адресом и для балансировщика в публичной подсети вы можете указать разрешенные IP-адреса, с которых балансировщик нагрузки будет принимать трафик, при создании правила балансировщика. В сети балансировщика должна быть включена фильтрация трафика (port security).
Для балансировщика с публичным IP-адресом вы также можете ограничить доступ через облачный файрвол.
2. Создать правило балансировщика нагрузки
Панель управления
OpenStack CLI
-
Если для ограничения доступа к балансировщику вы выбрали облачный файрвол, создайте файрвол и перейдите на шаг 3.
-
Если для ограничения доступа к балансировщику вы выбрали указать разрешенные IP-адреса в правиле балансировщщика — убедитесь, что в сети балансировщика включена фильтрация трафика (port security).
2.1. Откройте OpenStack CLI.
2.2. Посмотрите состояние фильтрации трафика в сети — поле
port_security_enabled
в выводе команды:openstack network show
2.3. Если в поле
port_security_enabled
значениеtrue
— фильтрация включена. Перейдите на шаг 3.2.4. Если в поле
port_security_enabled
значениеfalse
— фильтрация выключена. Включите фильтрацию и перейдите на шаг 3. -
В панели управления в верхнем меню нажмите Продукты и выберите Облачные серверы.
-
Перейдите в раздел Балансировщики → вкладка Балансировщики.
-
Откройте страницу балансировщика.
-
Нажмите Создать правило.
-
В поле Протокол приема трафика выберите вариант Prometheus.
-
Опционально: измените порт балансировщика, к которому Prometheus будет обращаться для получения метрик. По умолчанию назначается порт 8088.
-
Если для ограничения доступа к балансировщику вы выбрали разрешенные IP-адреса — в качестве разрешенного CIDR укажите IP-адрес облачного сервера, на котором будет установлен Prometheus.
-
Опционально: измените настройки соединений для входящих запросов на балансировщик, для этого откройте блок Расширенные настройки правила и укажите таймаут соединения и максимум соединений.
-
Нажмите Создать.
-
Если для ограничения доступа к балансировщику вы выбрали облачный файрвол, создайте файрвол и перейдите на шаг 3.
-
Если для ограничения доступа к балансировщику вы выбрали указать разрешенные IP-адреса в правиле балансировщщика — убедитесь, что в сети балансировщика включена фильтрация трафика (port security).
2.1. Откройте OpenStack CLI.
2.2. Посмотрите состояние фильтрации трафика в сети — поле
port_security_enabled
в выводе команды:openstack network show
2.3. Если в поле
port_security_enabled
значениеtrue
— фильтрация включена. Перейдите на шаг 3.2.4. Если в поле
port_security_enabled
значениеfalse
— фильтрация выключена. Включите фильтрацию и перейдите на шаг 3. -
Создайте правило для балансировщика с протоколом PROMETHEUS и портом 8088:
openstack loadbalancer listener create \
--name <listener_name> \
--protocol PROMETHEUS \
--protocol-port 8088 \
[--allowed-cidr <allowed_cidr>] \
<loadbalancer>