Zabbix прокси может собирать данные о производительности и доступности от имени Zabbix сервера. Таким образом, прокси может взять на себя некоторую часть нагрузки по сбору данных и разгрузить Zabbix сервер.
Кроме того, использование прокси это самый простой способ осуществления централизованного и распределённого мониторинга, когда все агенты и прокси отчитываются перед одним Zabbix сервером и все данные собираются в централизованном порядке.
Zabbix прокси можно использовать для:
Прокси требует только одно TCP соединение к Zabbix серверу. Таким образом, будет проще настроить обход брандмауэра, вам потребуется настроить только одно правило в брандмауэре.
Zabbix прокси должен использовать отдельную базу данных. Если указать базу данных Zabbix сервера, то конфигурация будет испорчена.
Все данные, собранные прокси, до отправки их серверу хранятся локально. Таким образом, данные не теряются из-за временных проблем со связью с сервером. Параметры ProxyLocalBuffer и ProxyOfflineBuffer в файле конфигурации прокси управляют тем, как долго данные будут храниться локально.
Может случиться, что прокси, получающий изменения конфигурации из базы Zabbix сервера, будет иметь более свежую конфигурацию, чем сам Zabbix сервер, чья конфигурация может обновляться реже согласно значению параметра CacheUpdateFrequency. В результате, прокси начнёт сбор данных и будет отправлять эти данные Zabbix серверу, который будет их игнорировать.
Zabbix прокси - сборщик данных. Он не вычисляет триггеры, не обрабатывает события и не отправляет оповещения. Для обзора возможностей прокси, просмотрите следующую таблицу:
Функция | Поддержка прокси | |
---|---|---|
Элементы данных | ||
Проверки через Zabbix агент | Да | |
Проверки через Zabbix агент (активный) | Да 1 | |
Простые проверки | Да | |
Элементы данных траппера | Да | |
SNMP проверки | Да | |
SNMP трапы | Да | |
IPMI проверки | Да | |
JMX проверки | Да | |
Мониторинг файлов журналов | Да | |
Внутренние проверки | Да | |
Проверки через SSH | Да | |
Проверки через Telnet | Да | |
Внешние проверки | Да | |
Зависимые элементы данных | Да | |
Скриптовые элементы данных | Да | |
Встроенный веб-мониторинг | Да | |
Предобработка значений элементов данных | Да | |
Обнаружение сети | Да | |
Авторегистрация активных агентов | Да | |
Низкоуровневое обнаружение | Да | |
Удалённые команды | Да | |
Вычисление триггеров | Нет | |
Обработка событий | Нет | |
Корреляция событий | Нет | |
Отправка оповещений | Нет |
[1] Чтобы убедиться, что агент запрашивает активные проверки у прокси (а не у сервера), именно прокси должен быть указан в параметре ServerActive файла конфигурации агента.
Если Zabbix сервер был остановлен на какое-то время и прокси собрали много данных, а затем сервер запустился, он может оказаться перегруженным (использование кэша истории некоторое время остаётся на уровне 95-100%). Эта перегрузка может привести к падению производительности, где проверки обрабатываются медленнее, чем должны. Чтобы избежать проблем, возникающих из-за перегрузки кэша истории, была реализована защита от такого сценария.
Когда кэш истории сервера Zabbix полностью заполнен, доступ на запись в кэш истории ограничивается, что приводит к задержке процессов сбора данных сервера. Наиболее распространенный случай перегрузки кэша истории — после останова сервера, когда прокси-серверы пересылают собранные данные. Чтобы избежать этого, был добавлен троттлинг прокси (в настоящее время его нельзя отключить).
Сервер Zabbix остановит приём данных от прокси, когда использование кэша истории достигнет 80%. Вместо этого эти прокси будут помещены в список троттлинга. Это будет продолжаться до тех пор, пока использование кэша не упадёт до 60%. Теперь сервер начнёт принимать данные от прокси по очереди, определенной списком троттлинга. Это означает, что первый прокси-сервер, который пытался выгрузить данные в течение периода троттлинга, будет обслужен первым, и до тех пор, пока он не завершит, сервер не будет принимать данные от других прокси.
Этот режим троттлинга будет продолжаться до тех пор, пока или использование кэша снова не достигнет 80%, или не упадет до 20%, или пока список троттлинга не опустеет. В первом случае сервер снова перестанет принимать данные прокси. В остальных двух случаях сервер начнёт работать как обычно, принимая данные со всех прокси.
Приведённую выше информацию можно проиллюстрировать следующей таблицей:
Использование на запись кэша истории |
Режим сервера Zabbix | Действие сервера Zabbix |
---|---|---|
Достигает 80% | Ожидание | Останавливает приём данных от прокси, но поддерживает список троттлинга (упорядоченный по приоритету список прокси-серверов, с которыми надо будет связаться позже). |
Падает до 60% | Троттлинг | Начинает обработку по списку троттлинга, но всё ещё не принимает данные от прокси. |
Падает до 20% | Обычный | Удаляет список троттлинга и начинает обычный приём данных от прокси. |
Вы можете использовать внутренний элемент данных zabbix[wcache,history,pused]
, чтобы скоррелировать это поведение сервера Zabbix с метрикой.
Если у вас есть установленный и настроенный прокси, то самое время настроить его в веб-интерфейсе Zabbix.
Для настройки прокси в веб-интерфейсе Zabbix:
Параметр | Описание | |
---|---|---|
Имя прокси | Введите имя прокси. Оно должно совпадать с именем параметра Hostname в файле конфигурации прокси. | |
Режим прокси | Выберите режим прокси. Активный - прокси будет подключаться к Zabbix серверу и запрашивать данные конфигурации Пассивный - Zabbix сервер будет подключаться к прокси Обратите внимание, что при использовании активного прокси без шифрованных коммуникаций (конфиденциальные) данные конфигурации прокси могут стать доступны лицам, имеющим доступ к порту траппера Zabbix сервера. Такое возможно потому, что кто угодно может представиться активным прокси и запросить данные конфигурации, если аутентификация не выполняется или адреса прокси не ограничены в поле Адрес прокси. |
|
Адрес прокси | Если задано значение, тогда запросы активного прокси принимаются только из этого списка разделённых запятыми IP адресов, опционально в CIDR нотации, или DNS имён активных Zabbix прокси. Это поле доступно, только если в поле Режим прокси выбран активный прокси. Макросы не поддерживаются. Эта опция поддерживается с версии Zabbix 4.0.0. |
|
Интерфейс | Укажите детали интерфейса для пассивного прокси. Это поле доступно, только если в поле Режим прокси выбран пассивный прокси. |
|
IP адрес | IP адрес пассивного прокси (опционально). | |
DNS имя | DNS имя пассивного прокси (опционально). | |
Подключение через | Нажав соответствующую кнопку, вы сообщите Zabbix серверу что использовать для получения данных с прокси: IP - Подключение к прокси по IP адресу (рекомендуется) DNS - Подключение к прокси по DNS имени |
|
Порт | Номер TCP порта пассивного прокси (по умолчанию 10051). | |
Описание | Введите описание прокси. |
Вкладка Шифрование позволяет вам требовать шифрованных соединений с прокси.
Параметр | Описание |
---|---|
Подключения к прокси | Каким образом сервер подключается к пассивному прокси: без шифрования (по умолчанию), используя PSK (pre-shared key) или сертификат. |
Соединения с прокси | Выберите, какой тип подключений разрешён с активного прокси. Можно выбрать несколько типов соединений одновременно (полезно при тестировании и переключении на другой тип соединения). По умолчанию - «Без шифрования». |
Издатель | Разрешённый эмитент сертификата. Сертификат сначала подтверждается CA (центром сертификации). Если он действительный, подписан с помощью CA, тогда можно использовать поле Издатель для более строгого ограничения разрешённых CA. Это поле опционально, предназначено для использования, если ваша Zabbix инсталляция использует сертификаты от нескольких CA. |
Тема | Разрешённая тема сертификата. Сертификат сначала подтверждается CA. Если он действительный, подписан с помощью CA, тогда можно использовать поле Тема, чтобы разрешить только одно значение строки Тема. Если поле пустое, тогда принимается любой сертификат, подписанный настроенным CA. |
Идентификатор PSK | Строка идентификации pre-shared key. Не помещайте чувствительную информацию в идентификатор PSK, для информирования принимающей стороны об используемом PSK он передаётся по сети в нешифрованном виде. |
PSK | Pre-shared key (строка в шестнадцатеричном формате). Максимальная длина: 512 шестнадцатеричных цифр (256-байт PSK), если Zabbix использует библиотеки GnuTLS или OpenSSL, 64 шестнадцатеричных цифры (32-байт PSK), если Zabbix использует библиотеку mbed TLS (PolarSSL). Пример: 1f87b595725ac58dd977beef14b97461a7c1045b9a1c963065002c5473194952 |
Вы можете указать, какие конкретно узлы сети должны наблюдаться через прокси, в диалоге настройки узла сети, используя поле Наблюдение через прокси.
Массовое обновление узлов сети является ещё одним способом указать, что узлы сети должны наблюдаться через прокси.