Sidebar

Zabbix Summit 2022
Register for Zabbix Summit 2022

4 Прокси

Обзор

Zabbix прокси - это процесс, способный собирать данные мониторинга с одного или нескольких наблюдаемых устройств и отправлять эту информацию Zabbix серверу, таким образом прокси работает от имени сервера. Все собранные данные помещаются в локальный буфер и затем отправляются Zabbix серверу, которому принадлежит этот прокси.

Развертывание прокси не обязательно, но может быть очень полезно для распределения нагрузки одиночного Zabbix сервера. Если только прокси собирают данные, то обработка этих данных на сервере не так сильно нагружает CPU и I/O диска.

Zabbix прокси - идеальное решение для централизованного мониторинга удаленных объектов, филиалов и сетей, где отсутствуют локальные администраторы.

Для Zabbix прокси требуется отдельная база данных.

Zabbix прокси поддерживает следующие базы данных SQLite, MySQL и PostgreSQL. Вы можете использовать Oracle на свой собственный риск, при этом возможны определенные ограничения, например в значениях, возвращаемых правилами низкоуровневого обнаружения.

Смотрите также: Использование прокси в распределенной среде

Запуск прокси

Если установлен из пакета

Zabbix прокси работает как демон. Его можно запустить выполнив:

shell> service zabbix-proxy start

Эта команда будет работать на большинстве GNU/Linux системах. На других системах вам, возможно, потребуется выполнить:

shell> /etc/init.d/zabbix-proxy start

Аналогично, для остановки/перезапуска/просмотра состояния Zabbix прокси, используйте следующие команды:

shell> service zabbix-proxy stop
       shell> service zabbix-proxy restart
       shell> service zabbix-proxy status
Запуск вручную

Если приведенные ранее команды не работают, вам необходимо запустить прокси вручную. Найдите путь к бинарному файлу zabbix_proxy и выполните:

shell> zabbix_proxy

С Zabbix прокси можно использовать следующие параметры командной строки:

-c --config <файл>              путь к файлу конфигурации
       -f --foreground                 запуск Zabbix прокси в фоновом режиме
       -R --runtime-control <опция>   выполнение административных функций
       -h --help                       вывод этого сообщения помощи
       -V --version                    вывод номера версии

Примеры запуска Zabbix прокси с параметрами командой строки:

shell> zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf
       shell> zabbix_proxy --help
       shell> zabbix_proxy -V
Управление работой

Опции управления работой:

Опция Описание Цель
config_cache_reload Перезагрузка кэша конфигурации. Игнорируется, если кэш уже загружается в текущий момент времени.
Активный Zabbix прокси подключится к Zabbix серверу и запросит данные конфигурации.
diaginfo[=<цель>] Сбор диагностической информации в файл журнала прокси. historycache - статистика кэша истории
preprocessing - статистика менеджера предобработки
locks - список мьютексов
snmp_cache_reload Перезагрузка кэша SNMP, очистка свойств SNMP (engine time, engine boots, engine id, учетных данных) по всем узлам сети.
housekeeper_execute Запуск процедуры очистки базы данных. Игнорируется, если процедура очистки выполняется в данный момент.
log_level_increase[=<цель>] Увеличение уровня журналирования, действует на все процессы, если цель не указана.
Не поддерживается на **BSD* системах.
тип процесса - Все процессы указанного типа (например, poller)
Смотрите все типы процессов прокси.
тип процесса,N - Тип процесса и его номер (например, poller,3)
pid - Идентификатор процесса (1 до 65535). В случае значений PID больше 65535 укажите цель в виде 'тип процесса,N'.
log_level_decrease[=<цель>] Уменьшение уровня журналирования, действует на все процессы, если цель не указана.
Не поддерживается на **BSD* системах.

Пример использования административных функций для перезагрузки кэша конфигурации прокси:

shell> zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R config_cache_reload

Примеры использования административных функций для сбора диагностической информации:

Сбор всей доступной диагностической информации в файл журнала прокси:
       shell> zabbix_proxy -R diaginfo
       
       Сбор статистики кэша истории в файл журнала прокси:
       shell> zabbix_proxy -R diaginfo=historycache

Пример использования административных функций для перезагрузки SNMP кэша:

shell> zabbix_proxy -R snmp_cache_reload  

Пример использования административных функций для вызова выполнения очистки базы данных:

shell> zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R housekeeper_execute

Примеры использования административных функций по изменению уровня журналирования:

Увеличение уровня журналирования по всем процессам:
       shell> zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R log_level_increase
       
       Увеличение уровня журналирования у второго процесса поллера:
       shell> zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R log_level_increase=poller,2
       
       Увеличение уровня журналирования у процесса с PID 1234:
       shell> zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R log_level_increase=1234
       
       Уменьшение уровня журналирования по всем http поллер процессам:
       shell> zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R log_level_decrease="http poller"
Пользователь процесса

Zabbix прокси спроектирован для запуска от непривилегированного пользователя (non-root). Он будет работать от любого непривилегированного пользователя от которого был запущен. Таким образом, вы можете запускать прокси от имени любого непривилегированного пользователя, без каких либо последствий.

Если вы попытаетесь запустить сервер от имени 'root', прокси сразу переключится на пользователя 'zabbix', который должен присутствовать в вашей системе. Единственный способ запустить прокси от пользователя 'root' - соответствующим образом отредактировать параметр 'AllowRoot' в файле конфигурации прокси.

Файл конфигурации

Смотрите опции файла конфигурации для получения подробной информации по настройке zabbix_proxy.

Типы процессов прокси

  • availability manager - процесс для обновления доступности узлов сети
  • configuration syncer - процесс управления кэшем данных конфигурации в оперативной памяти
  • data sender - процесс отправки данных с прокси
  • discoverer - процесс обнаружения устройств
  • heartbeat sender - процесс уведомления сервера прокси сервером о состоянии своем состоянии
  • history poller - процесс обработки вычисляемых, агрегированных и внутренних проверок, требующих подключения к базе данных
  • history syncer - процесс, который записывает историю в БД
  • housekeeper - процесс удаления устаревших данных истории
  • http poller - поллер веб-мониторинга
  • icmp pinger - поллер проверок icmpping
  • ipmi manager - менеджер IPMI поллеров
  • ipmi poller - поллер для проверок через IPMI
  • java poller - поллер для Java проверок
  • odbc poller - поллер для ODBC проверок
  • poller - обычный поллер для пассивных проверок
  • preprocessing manager - менеджер задач предобработки
  • preprocessing worker - процесс преобработки данных
  • self-monitoring - процесс сбора внутренней статистики сервера
  • snmp trapper - траппер сбора/обработки SNMP трапов
  • task manager - процесс для удаленного выполнения задач, которые запрашиваются другими компонентами (например, функционал закрытия проблемы, подтверждения проблемы, принудительной проверки значения элемента данных, удаленной команды)
  • trapper - процесс-улавливатель для активных проверок, трапов, и прокси
  • unreachable poller - поллер недоступных устройств
  • vmware collector - коллектор данных VMware, ответственный за сбор данных со служб Vmware

Можно воспользоваться файлом журнала прокси для выявления этих типов процессов.

Различные типы процессов Zabbix прокси можно мониторить используя внутренний элемент данных zabbix[процесс,<тип>,<режим>,<состояние>].

Поддерживаемые платформы

Zabbix прокси запускается на тех же поддерживаемых платформах, что и Zabbix сервер.

Региональные настройки (локаль)

Обратите внимание, что серверу требуется UTF-8 локаль, чтобы некоторые текстовые элементы данных интерпретировались корректно. Большинство современных Unix-подобных систем уже имеют локаль UTF-8 по умолчанию, тем не менее, есть некоторые системы где это необходимо указывать вручную.