Zabbix Documentation 2.0

Sidebar

5 Java gateway

Обзор

Zabbix 2.0 добавлена нативная поддержка для мониторинга JMX приложений введением нового демона Zabbix, называемого "Zabbix Java gateway". Zabbix Java gateway - это демон написанный на языке Java. Когда Zabbix сервер хочет знать значение конкретного JMX счетчика у узла сети, он опрашивает Zabbix Java gateway, который использует API управления JMX для опроса интересующего удаленного приложения. Приложению не требуется никаких дополнительных программ, оно просто должно быть запущено с опцией командной строки -Dcom.sun.management.jmxremote.

Java gateway принимает входящие подключения от Zabbix сервера или прокси и может быть использован только как "пассивный прокси". Но в отличии от Zabbix прокси, Java gateway может использоваться с Zabbix прокси (Zabbix прокси не могут быть связаны). Доступ к каждому Java gateway настраивается непосредственно в файле конфигурации Zabbix сервера или прокси, таким образом только один Java gateway может быть настроен на каждый из Zabbix сервер или Zabbix прокси. Если у узла сети есть элементы данных типа JMX агент и элементы данных других типов, то только элементы данных JMX агент будут переданы в Java gateway.

Когда элемент данных должен быть обновлен через Java gateway, Zabbix сервер или прокси подключается к Java gateway и запрашивает значение, которое в свою очередь получает Java gateway и возвращает серверу или прокси. Таким образом, Java gateway никакие значения не кэширует.

У Zabbix сервера и прокси есть специальный тип процессов, который подключается к Java gateway, этот процесс настраивается опцией StartJavaPollers. Внутренне, Java gateway запускается несколькими потоками, настраиваемыми опцией START_POLLERS. На стороне сервера, если соединение занимает более чем Timeout секунд, оно будет завершено, но Java gateway может еще получать значение с JMX счетчика. Для решения данной проблемы, с версии Zabbix 2.0.15 есть опция TIMEOUT в Java gateway которая позволяет установить таймаут для сетевых JMX операции.

Zabbix сервер или прокси будет пытаться объединить запросы к одной цели JMX в одно целое, как можно больше (затрагивает интервалы элементов данных), и затем отправить их в Java Gateway за одно подключение для лучшей производительности.

Предлагается выставить значение StartJavaPollers меньшим или равным чем START_POLLERS, в противном случае могут возникнуть ситуации, когда для входящих запросов может нехватить доступных потоков в Java gateway.

Разделы ниже рассказывают о том как получить и запустить Zabbix Java gateway, как настроить Zabbix сервер (или Zabbix прокси) для использования Zabbix Java gateway в мониторинге JMX, и как настроить элементы данных Zabbix в Zabbix GUI, которые соответствуют конкретным JMX счетчикам.

5.1 Получение Java gateway

Имеется два способа получения Java gateway. Первый - это загрузка пакета Java gateway с веб сайта Zabbix и, второй - компиляция Java gateway из исходных кодов.

5.1.1 Загрузка с веб-сайта Zabbix

Пакеты Zabbix Java gateway (RHEL, Debian, Ubuntu) доступны для загрузки по адресу http://www.zabbix.com/download.php.

5.1.2 Сборка исходных кодов

Для того, чтобы скомпилировать Java gateway, для начала выполните скрипт ./configure с опцией --enable-java. Желательно указать опцию --prefix для запроса пути установки отличную от умолчания /usr/local, потому что при установке Java gateway будет создано целое дерево папок, а не только один исполняемый файл.

$ ./configure --enable-java --prefix=$PREFIX

Для компиляции и сборки Java gateway в JAR файл, выполните make. Обратите внимание, что для этого шага вам понадобятся исполняемые файлы javac и jar in your path.

$ make

Теперь у вас имеется файл zabbix-java-gateway-$VERSION.jar в src/zabbix_java/bin. Если для вас наиболее удобен запуск Java gateway из src/zabbix_java из каталога пакета, то вы можете перейти к инструкциям по настройке и запуску Java gateway. Иначе убедитесь в наличии достаточных привилгий для выполнения make install.

$ make install

5.2 Обзор файлов из поставки Java gateway

Независимо от того как вы получили Java gateway, вы должны закончить набором скриптов, JAR файлом и файлами конфигурации из $PREFIX/sbin/zabbix_java. Задача этих файлов изложена ниже.

bin/zabbix-java-gateway-$VERSION.jar

Соде