1 Прокси
Обзор
Прокси Zabbix может собирать данные о производительности и доступности от имени сервера Zabbix. Таким образом, прокси может взять на себя часть нагрузки по сбору данных и разгрузить сервер Zabbix.
Кроме того, использование прокси — это самый простой способ реализации централизованного и распределенного мониторинга, когда все агенты и прокси отчитываются одному серверу Zabbix, а все данные собираются централизованно.
Прокси Zabbix можно использовать для:
- Мониторинга удаленных площадок
- Мониторинга площадок с ненадежной связью
- Разгрузки сервера Zabbix при мониторинге тысяч устройств
- Упрощения обслуживания распределенного мониторинга

Для прокси требуется только одно TCP-соединение с сервером Zabbix. Таким образом, проще обойти ограничения межсетевого экрана, так как нужно настроить только одно правило межсетевого экрана.
Прокси Zabbix должен использовать отдельную базу данных. Указание базы данных сервера Zabbix нарушит конфигурацию.
Все данные, собранные прокси, хранятся локально перед передачей на сервер. Таким образом, никакие данные не будут потеряны из-за временных проблем со связью с сервером. Параметры ProxyLocalBuffer и ProxyOfflineBuffer в файле конфигурации прокси определяют, как долго данные хранятся локально.
Может случиться так, что прокси, который получает последние изменения конфигурации напрямую из базы данных сервера Zabbix, имеет более актуальную конфигурацию, чем сервер Zabbix, чья конфигурация может обновляться не так быстро из-за значения CacheUpdateFrequency. В результате прокси может начать собирать данные и отправлять их на сервер Zabbix, который будет игнорировать эти данные.
Прокси Zabbix является сборщиком данных. Он не вычисляет триггеры, не обрабатывает события и не отправляет оповещения. Для обзора функциональности прокси см. следующую таблицу:
| Функция | Поддерживается прокси | |
|---|---|---|
| Элементы данных | ||
| Проверки агента Zabbix | Да | |
| Проверки агента Zabbix (активные) | Да 1 | |
| Простые проверки | Да | |
| Элементы данных trapper | Да | |
| Проверки SNMP | Да | |
| Ловушки SNMP | Да | |
| Проверки IPMI | Да | |
| Проверки JMX | Да | |
| Мониторинг лог-файлов | Да | |
| Внутренние проверки | Да | |
| Проверки SSH | Да | |
| Проверки Telnet | Да | |
| Внешние проверки | Да | |
| Зависимые элементы данных | Да | |
| Элементы данных script | Да | |
| Элементы данных browser | Да | |
| Встроенный веб-мониторинг | Да | |
| Предобработка значений элементов данных | Да | |
| Обнаружение сети | Да | |
| Авторегистрация активного агента | Да | |
| Низкоуровневое обнаружение | Да 2 | |
| Удаленные команды | Да | |
| Вычисление триггеров | Нет | |
| Обработка событий | Нет | |
| Корреляция событий | Нет | |
| Отправка оповещений | Нет | |
[1] Чтобы агент запрашивал активные проверки у прокси (а не у сервера), прокси должен быть указан в параметре ServerActive в файле конфигурации агента.
[2] Для LLD прокси Zabbix только собирает и предварительно обрабатывает данные, а затем отправляет их на сервер Zabbix для дальнейшей обработки.
Защита от перегрузки
Если сервер Zabbix был недоступен некоторое время, а прокси собрали много данных, то после запуска сервера он может оказаться перегружен (использование кэша истории некоторое время держится на уровне 95-100%). Такая перегрузка может привести к снижению производительности, когда проверки обрабатываются медленнее, чем должны. Для предотвращения проблем, возникающих из-за перегрузки кэша истории, была реализована защита от такого сценария.
Когда кэш истории сервера Zabbix заполнен, скорость записи в кэш истории ограничивается, что приостанавливает процессы сбора данных на сервере. Наиболее распространенный случай перегрузки кэша истории возникает после простоя сервера, когда прокси выгружают собранные данные. Чтобы этого избежать, было добавлено ограничение прокси (в настоящее время его нельзя отключить).
Когда использование кэша истории достигает 80%, сервер Zabbix переходит в режим ограничения. В режиме ограничения сервер принимает данные от прокси только тогда, когда использование кэша истории ниже 60%, поочередно выбирая прокси, от которых принимаются данные. Как только использование кэша истории опускается ниже 20%, сервер возвращается в обычный режим.
Кроме того, в обычном режиме сервер Zabbix ограничивает отдельные прокси, отправляющие очень большие пакеты (10 000+ записей), если использование кэша истории превышает 60%.
Это решение принимается в момент, когда сервер оценивает выгрузку данных от прокси, поэтому оно не всегда может сразу отражаться на графиках использования кэша истории (внутренний элемент данных zabbix[wcache,history,pused] и интервал его обновления могут не фиксировать кратковременные всплески).
Этот режим ограничения будет продолжаться до тех пор, пока использование кэша снова не достигнет 80%, не опустится до 20% или пока список ограничений не станет пустым. В первом случае сервер снова перестанет принимать данные от прокси. В двух других случаях сервер начнет работать в обычном режиме, принимая данные от всех прокси.
Вышеуказанную информацию можно проиллюстрировать следующей таблицей:
| Использование кэша записи истории |
Режим сервера Zabbix | Действие сервера Zabbix |
|---|---|---|
| Достигает 80% | Ожидание | Прекращает принимать данные от прокси, но поддерживает список ограничений (приоритетный список прокси, с которыми нужно связаться позже). |
| Достигает 60% | Обычный, но готовый к ограничению | Может отклонять очень большие выгрузки от прокси (более 10 тыс. записей) при принятии решения о приеме данных; продолжает принимать остальные данные от прокси. |
| Опускается до 20% | Обычный | Удаляет список ограничений и начинает принимать данные от прокси в обычном режиме. |
Вы можете использовать внутренний элемент данных zabbix[wcache,history,pused], чтобы сопоставить это поведение сервера Zabbix с метрикой.
Настройка
После того как вы установили и настроили прокси, пришло время настроить его в веб-интерфейсе Zabbix.
Добавление прокси
Чтобы настроить прокси в веб-интерфейсе Zabbix:
- Перейдите в: Administration > Proxies
- Нажмите Create proxy

| Параметр | Описание | |
|---|---|---|
| Proxy name | Введите имя прокси. Оно должно совпадать со значением параметра Hostname в файле конфигурации прокси. | |
| Proxy group | Выберите одну группу прокси для балансировки нагрузки/высокой доступности прокси. | |
| Address for active agents | Введите адрес, к которому должны подключаться отслеживаемые активные агенты или отправители. Поддерживается только для агентов Zabbix 7.0 и новее. Этот адрес используется для подключения как к активным, так и к пассивным прокси. Это поле доступно, только если в поле Proxy group выбрана группа прокси. |
|
| Address | IP-адрес/DNS-имя для подключения. | |
| Port | Номер TCP-порта для подключения (по умолчанию 10051). Пользовательские макросы поддерживаются. | |
| Proxy mode | Выберите режим прокси. Active — прокси будет подключаться к серверу Zabbix и запрашивать данные конфигурации Passive — сервер Zabbix подключается к прокси Обратите внимание, что без шифрования соединений данные конфигурации прокси (чувствительные данные) могут стать доступными сторонам, имеющим доступ к порту trapper сервера Zabbix при использовании активного прокси. Это возможно, потому что любой может выдать себя за активный прокси и запросить данные конфигурации, если аутентификация не выполняется или адреса прокси не ограничены в поле Proxy address. |
|
| Proxy address | Если указано, то запросы активного прокси принимаются только из этого списка IP-адресов, разделённых запятыми, при необходимости в нотации CIDR, или DNS-имён активного прокси Zabbix. Это поле доступно, только если в поле Proxy mode выбран активный прокси. Макросы не поддерживаются. |
|
| Interface | Введите сведения об интерфейсе для пассивного прокси. Это поле доступно, только если в поле Proxy mode выбран пассивный прокси. |
|
| Address | IP-адрес/DNS-имя пассивного прокси. | |
| Port | Номер TCP-порта пассивного прокси (по умолчанию 10051). Пользовательские макросы поддерживаются. | |
| Description | Введите описание прокси. | |
Вкладка Encryption позволяет требовать зашифрованные соединения с прокси.
| Параметр | Описание |
|---|---|
| Connections to proxy | Как сервер подключается к пассивному прокси: без шифрования (по умолчанию), с использованием PSK (предварительно разделённого ключа) или сертификата. |
| Connections from proxy | Выберите, какие типы соединений разрешены от активного прокси. Можно выбрать несколько типов соединений одновременно (это полезно для тестирования и переключения на другой тип соединения). По умолчанию используется "No encryption". |
| Issuer | Разрешённый издатель сертификата. Сначала сертификат проверяется с помощью CA (центра сертификации). Если он действителен и подписан этим CA, то поле Issuer можно использовать для дополнительного ограничения допустимого CA. Это необязательное поле, предназначенное для использования, если в вашей установке Zabbix применяются сертификаты от нескольких CA. |
| Subject | Разрешённый субъект сертификата. Сначала сертификат проверяется с помощью CA. Если он действителен и подписан этим CA, то поле Subject можно использовать, чтобы разрешить только одно значение строки Subject. Если это поле пустое, принимается любой действительный сертификат, подписанный настроенным CA. |
| PSK identity | Строка идентификатора предварительно разделённого ключа. Не указывайте конфиденциальную информацию в идентификаторе PSK, так как он передаётся по сети без шифрования, чтобы сообщить получателю, какой PSK использовать. |
| PSK | Предварительно разделённый ключ (hex-строка). Максимальная длина: 512 шестнадцатеричных цифр (256-байтный PSK), если Zabbix использует библиотеку GnuTLS или OpenSSL, 64 шестнадцатеричных цифры (32-байтный PSK), если Zabbix использует библиотеку mbed TLS (PolarSSL). Пример: 1f87b595725ac58dd977beef14b97461a7c1045b9a1c963065002c5473194952 |
Вкладка Timeouts позволяет переопределить глобальные тайм-ауты для типов элементов данных, которые это поддерживают.

| Параметр | Описание |
|---|---|
| Timeouts for item types | Задайте тайм-аут элемента данных (в зависимости от его типа): Global — использовать глобальный тайм-аут (отображается в затенённом поле Timeout для каждого типа элемента данных); Override — задать пользовательский тайм-аут (в поле Timeout для каждого типа элемента данных). Допустимый диапазон: 1 - 600s (по умолчанию: наследуется из глобальных тайм-аутов). Поддерживаются суффиксы времени, например 30s, 1m, и пользовательские макросы. Нажатие на ссылку Global timeouts позволяет настроить глобальные тайм-ауты. Обратите внимание, что ссылка Global timeouts видна только пользователям типа Super admin с правами на раздел веб-интерфейса Administration > General. Обратите внимание, что хотя тайм-ауты на уровне прокси переопределяют глобальные, они, в свою очередь, будут переопределены индивидуальными тайм-аутами элементов данных, если они настроены. |
Если основная версия прокси не совпадает с основной версией сервера, рядом с Timeouts for item types будет отображаться значок
с сообщением при наведении "Timeouts disabled because the proxy and server versions do not match".
В таких случаях прокси будет использовать параметр Timeout из файла конфигурации прокси.
Форма редактирования существующего прокси содержит следующие дополнительные кнопки:
- Refresh configuration — обновить конфигурацию прокси
- Clone — создать новый прокси на основе свойств существующего прокси
- Delete — удалить прокси
Настройка узла сети
Вы можете указать, что отдельный узел сети должен отслеживаться прокси или группой прокси, в форме настройки узла сети, используя поле Monitored by.

Массовое обновление узлов сети — это еще один способ указать, что узлы сети должны отслеживаться прокси или группой прокси.