Балансировка нагрузки и высокая доступность прокси
Обзор
Прокси Zabbix можно объединять в группы прокси для балансировки нагрузки и обеспечения высокой доступности прокси.
Балансировка нагрузки и обеспечение высокой доступности прокси — это автоматическое перераспределение узлов сети между прокси внутри группы прокси:
- Если прокси переходит в автономный режим, его узлы сети перемещаются на другие прокси, что позволяет поддерживать высокую доступность прокси.
- Если на прокси настроено значительно больше или меньше узлов сети, чем на других прокси, его узлы сети перемещаются на другие прокси для балансировки нагрузки.
Перераспределение узлов сети работает только между прокси в группе, которые соответствуют следующим условиям:
- На прокси установлена версия Zabbix 7.0 или более поздняя.
- Версия прокси совпадает с версией сервера Zabbix. При использовании агента Zabbix (пассивного) версия прокси должна совпадать с версией агента. Для активных агентов требуется только версия Zabbix 7.0 или более поздняя.
- Группа прокси имеет состояние «В сети».
- Для узлов сети настроен мониторинг через группу прокси, а не через отдельные прокси.
Состояние группы прокси можно отслеживать с помощью внутренних проверок на любом узле сети, назначенном группе прокси. Однако для отслеживания состояния отдельного прокси в группе назначьте узел сети этому прокси; в противном случае результаты могут быть непоследовательными.
Перераспределение узлов сети
Балансировка нагрузки прокси и высокая доступность управляются сервером Zabbix через менеджер группы прокси, который непрерывно отслеживает состояние всех прокси в каждой группе прокси и распределение их узлов сети.
Высокая доступность прокси внутри группы обеспечивается за счет отказоустойчивости прокси: когда прокси переходит в автономный режим, его узлы сети немедленно перераспределяются между другими прокси. Также выполняется балансировка нагрузки прокси, поскольку узлы сети переназначаются на прокси с наименьшим количеством назначенных узлов сети.
Кроме того, балансировка нагрузки прокси запускается, когда количество узлов сети на прокси отличается от среднего по группе как минимум на 10 узлов сети и в 2 раза (избыток узлов сети или дефицит узлов сети). Если дисбаланс сохраняется после периода ожидания (10 x задержка отказоустойчивости), группа прокси ставится в очередь на перераспределение узлов сети.
Менеджер группы прокси перераспределяет узлы сети по следующей логике:
- Вычислить среднее количество узлов сети на один прокси.
- Для прокси с избытком узлов сети — переместить лишние узлы сети в пул не назначенных прокси.
- Для прокси с дефицитом узлов сети — вычислить, сколько узлов сети нужно для достижения баланса.
- Удалить необходимое количество узлов сети с прокси, у которых их больше всего.
- Переместить не назначенные узлы сети на прокси с наименьшим количеством узлов сети.
Примеры перераспределения узлов сети:
| Узлов сети на прокси | Среднее по группе | Переназначение узлов сети |
|---|---|---|
| 100 | 50 | Да |
| 60 | 50 | Нет |
| 40 | 50 | Нет |
| 25 | 50 | Да |
| 15 | 5 | Да |
| 10 | 5 | Нет |
Наличие менее 10 узлов сети, контролируемых группой прокси, может привести к неравномерному распределению узлов сети между прокси в группе.
Настройка группы прокси
Чтобы настроить группу прокси в веб-интерфейсе Zabbix:
- Перейдите в раздел Администрирование > Группы прокси.
- Нажмите Создать группу прокси.
- Укажите параметры группы прокси в форме.

| Параметр | Описание |
|---|---|
| Имя | Имя группы прокси. |
| Период переключения | Период в секундах, в течение которого прокси в группе прокси должен обмениваться данными с сервером Zabbix, чтобы считаться доступным (по умолчанию: 1m; диапазон: 10s-15m). Если прокси не обменивается данными в течение этого периода, его состояние изменяется на Недоступен, а узлы сети, назначенные ему, немедленно перераспределяются между другими прокси. Балансировка нагрузки прокси начинается после истечения периода, умноженного на 10. Поддерживаются суффиксы времени (например, 30s, 1m) и пользовательские макросы. |
| Минимальное количество прокси | Минимальное количество доступных прокси, необходимое для сохранения доступности группы прокси (по умолчанию: 1; диапазон: 1-1000). Поддерживаются пользовательские макросы. Это значение должно быть меньше общего количества прокси в группе. Например, если в группе 10 прокси, установка минимального значения 10 приведет к тому, что группа станет недоступной при сбое любого прокси. Обратите внимание, что доступные прокси в недоступной группе продолжают работать в обычном режиме, однако балансировка нагрузки и высокая доступность работать не будут. |
| Описание | Описание группы прокси. |
| Прокси | При редактировании группы, содержащей прокси, отображается список из не более чем пяти прокси (в виде ссылок или обычного текста в зависимости от прав пользователя на прокси). |
Настройка балансировки нагрузки прокси
Чтобы использовать балансировку нагрузки прокси, необходимо настроить группу прокси в веб-интерфейсе Zabbix (см. выше) и убедиться, что узлы сети контролируются группой прокси, а не отдельными прокси (для перемещения узлов сети от прокси в группу прокси можно использовать массовое обновление узлов сети).
При использовании агента Zabbix также настройте его следующим образом:
- Для пассивных проверок укажите все прокси группы прокси в параметре Server.
- Для активных проверок рекомендуется указать все прокси группы прокси или сервер Zabbix в параметре ServerActive. Обратите внимание, что с группами прокси в активном режиме будет работать только агент Zabbix версии 7.0 или более поздней.
Если параметр ServerActive содержит только один прокси из группы прокси (или сервер Zabbix), агент всё равно сможет подключиться к правильному прокси.
При запуске службы агента и подключении к указанному прокси агент получит и кэширует полный список IP-адресов прокси и их текущую нагрузку в группе.
Затем активные проверки будут перенаправляться к правильному доступному прокси для узла сети на основе текущего назначения узлов сети прокси внутри группы прокси.
Если в параметре ServerActive агента Zabbix указан только один прокси, это может привести к потере данных мониторинга, если агент запускается или перезапускается в то время, когда указанный прокси недоступен.
При использовании Zabbix sender запросы данных также перенаправляются к правильному доступному прокси для узла сети на основе текущего назначения узлов сети прокси внутри группы прокси.
Однако при отправке значений нескольких узлов сети из входного файла используйте опцию -g, чтобы предотвратить отправку данных неправильному прокси.
Агент Zabbix также должен иметь возможность подключаться ко всем прокси в группе прокси через межсетевой экран. В противном случае активные проверки могут зависать или завершаться ошибкой во время перенаправления или переключения на резервный прокси. Например:
- Во время активных проверок прокси может перенаправить агента к другому прокси. Если этот прокси заблокирован межсетевым экраном, обмен данными зависнет в ожидании ответа.
- В стабильных конфигурациях с высокой доступностью без недавнего перераспределения агенты могут никогда не обращаться к резервным прокси. Если правила межсетевого экрана изменились и не были протестированы, переключение на резервный прокси может завершиться ошибкой.
Тестирование балансировки нагрузки прокси
Чтобы протестировать балансировку нагрузки прокси:
- Настройте группу прокси.
- Убедитесь, что группа прокси имеет состояние «в сети».
- Убедитесь, что узлы сети контролируются группой прокси, а не отдельными прокси (для перемещения узлов сети от прокси в группу прокси можно использовать массовое обновление).
- Подождите несколько секунд, пока обновится конфигурация и узлы сети распределятся между прокси в группе прокси.
Проследите за изменениями, обновив список узлов сети в разделе Администрирование > Прокси.
Важные примечания
- SNMP-трапы не поддерживаются прокси в группе прокси.
- Проверки, зависящие от внешней конфигурации (например, скрипты для внешних проверок или конфигурация ODBC для проверок базы данных), должны иметь одинаковую конфигурацию на всех прокси в группе прокси.
- Для проверок базы данных требуются расширенные разрешения на объект базы данных или сервер.
- Узлы VMware, мониторинг которых выполняется группой прокси, будут случайным образом распределены между прокси в группе. Это приводит к тому, что каждый прокси кэширует все данные VMware, создавая дополнительную нагрузку на vCenter.
- Для узлов сети, созданных на основе данных автоматической регистрации от прокси в группе прокси, в качестве объекта, осуществляющего мониторинг, устанавливается эта группа прокси. Однако для узлов сети, созданных на основе данных сетевого обнаружения от прокси в группе прокси, в качестве объекта, осуществляющего мониторинг, устанавливается этот прокси.