ru:manual:concepts:java

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
ru:manual:concepts:java [2015/12/20 15:26]
dotneft
ru:manual:concepts:java [2019/10/07 06:35] (current)
Line 1: Line 1:
-==== -#5 Java gateway ====+==== Java gateway ====
  
 === Обзор === === Обзор ===
Line 11: Line 11:
 У Zabbix сервера и прокси есть специальный тип процессов,​ которые подключается к Java gateway, их количество настраивается опцией **StartJavaPollers**. Внутренне,​ Java gateway запускается несколькими потоками,​ настраиваемыми опцией **START_POLLERS**. На стороне сервера,​ если соединение занимает более чем **Timeout** секунд,​ оно будет завершено,​ но Java gateway может оставаться занят получением значения JMX счетчика. Чтобы решить эту проблему,​ Java gateway начиная с Zabbix 2.0.15, Zabbix 2.2.10 и Zabbix 2.4.5 поддерживают опцию **TIMEOUT**,​ позволяющую указать время ожидания сетевых операций JMX. У Zabbix сервера и прокси есть специальный тип процессов,​ которые подключается к Java gateway, их количество настраивается опцией **StartJavaPollers**. Внутренне,​ Java gateway запускается несколькими потоками,​ настраиваемыми опцией **START_POLLERS**. На стороне сервера,​ если соединение занимает более чем **Timeout** секунд,​ оно будет завершено,​ но Java gateway может оставаться занят получением значения JMX счетчика. Чтобы решить эту проблему,​ Java gateway начиная с Zabbix 2.0.15, Zabbix 2.2.10 и Zabbix 2.4.5 поддерживают опцию **TIMEOUT**,​ позволяющую указать время ожидания сетевых операций JMX.
  
-Zabbix сервер и прокси будут пытаться максимально объединить запросы к одной цели JMX (зависит от интервалов обновления элементов данных) и отправлять их в Java Gateway ​за одно подключение для лучшей производительности.+Zabbix сервер и прокси будут пытаться максимально объединить запросы к одной цели JMX (зависит от интервалов обновления элементов данных) и отправлять их в Java gateway ​за одно подключение для лучшей производительности.
  
 Рекомендуется выставить значение **StartJavaPollers** меньшим или равным чем **START_POLLERS**,​ в противном случае могут возникнуть ситуации,​ когда потоков Java gateway может не хватить для обслуживания входящих запросов. Рекомендуется выставить значение **StartJavaPollers** меньшим или равным чем **START_POLLERS**,​ в противном случае могут возникнуть ситуации,​ когда потоков Java gateway может не хватить для обслуживания входящих запросов.
Line 19: Line 19:
 === - Получение Java gateway === === - Получение Java gateway ===
  
-Имеется два способа получения Java gateway. Первый - это загрузка пакета Java gateway ​с веб-сайта ​Zabbix и второй - компиляция Java gateway из исходных кодов.+Вы можете установить Java gateway как из исходных кодов, так и из пакетов, которые можно загрузить с [[http://​www.zabbix.com/​ru/​download.php|Zabbix ​веб-сайта]]
  
-== - Загрузка с веб-сайта Zabbix ==+Смотрите инструкции по установке Java gateway:
  
-Пакеты Zabbix Java gateway (для RHEL, Debian, Ubuntu) доступны для загрузки на странице ​[[http://www.zabbix.com/download.php]]. +  * [[:ru/manual/installation/install#​установка_java_gateway|из ​исходных кодов]] 
- +  * из пакетов для ​[[:ru/manual/installation/​install_from_packages/​rhel_centos#​установка_java_gateway|RHEL/​CentOS]] 
-== - Сборка исходных кодов ​== +  ​из пакетов для ​[[:ru/manual/installation/​install_from_packages/debian_ubuntu#​установка_java_gateway|Debian/​Ubuntu]]
- +
-Для того, чтобы скомпилировать Java gateway, сначала выполните скрипт ''​./​configure''​ с опцией ''​%%--enable-java%%''​. Желательно указать опцию ''​%%--prefix%%'' ​для ​запроса пути установки отличную от умолчания ​/usr/local, потому что при ​установке Java gateway будет создано целое дерево каталогов,​ а не только один исполняемый файл. +
- +
-  ​$ ./configure --enable-java --prefix=$PREFIX +
- +
-Для компиляции и сборки Java gateway в JAR файл, выполните ''​make''​. Обратите внимание, что для ​этого шага исполняемые файлы ''​javac''​ и ''​jar''​ должны присутствовать в пути. +
- +
-  $ make +
- +
-Теперь у вас имеется файл zabbix-java-gateway-$VERSION.jar в src/zabbix_java/bin. Если вам удобно запускать Java gateway из src/zabbix_java в каталога пакета,​ то вы можете перейти к инструкциям по настройке и запуску Java gateway. В противном случае убедитесь ​в наличии у вас достаточных привилегий для выполнения ''​make install''​. +
- +
-  $ make install+
  
 === - Обзор файлов из поставки Java gateway === === - Обзор файлов из поставки Java gateway ===
Line 50: Line 38:
   lib/​logback-classic-0.9.27.jar   lib/​logback-classic-0.9.27.jar
   lib/​slf4j-api-1.6.1.jar   lib/​slf4j-api-1.6.1.jar
-  lib/org-json-2010-12-28.jar+  lib/android-json-4.3_r3.1.jar
  
-Зависимости Java gateway: [[http://​logback.qos.ch/​|Logback]],​ [[http://​www.slf4j.org/​|SLF4J]],​ и библиотека [[https://​android.googlesource.com/​platform/​libcore/​+/​master/​json|Android JSON]] ​(Примечание:​ до Zabbix 2.2.5 использовалась библиотека [[http://​www.json.org/​|JSON.org]]).+Зависимости Java gateway: [[http://​logback.qos.ch/​|Logback]],​ [[http://​www.slf4j.org/​|SLF4J]],​ и библиотека [[https://​android.googlesource.com/​platform/​libcore/​+/​master/​json|Android JSON]].
  
   lib/​logback.xml   lib/​logback.xml
Line 86: Line 74:
 === - Настройка сервера для использования с Java gateway === === - Настройка сервера для использования с Java gateway ===
  
-Теперь,​ когда Java gateway запущен,​ вы должны указать Zabbix серверу где искать Zabbix Java gateway. Чтобы это сделать,​ укажите параметры JavaGateway и JavaGatewayPort в [[ru:​manual:​appendix:​config:​zabbix_server|файле конфигурации сервера]]. Если же узел сети на котором работает JMX приложение наблюдается через Zabbix прокси,​ то параметры соединения указываются в [[ru:​manual:​appendix:​config:​zabbix_proxy|файле конфигурации прокси]].+Когда Java gateway запущен ​и работает, вы должны указать Zabbix серверу где искать Zabbix Java gateway. Чтобы это сделать,​ укажите параметры JavaGateway и JavaGatewayPort в [[ru:​manual:​appendix:​config:​zabbix_server|файле конфигурации сервера]]. Если же узел сети на котором работает JMX приложение наблюдается через Zabbix прокси,​ то параметры соединения указываются в [[ru:​manual:​appendix:​config:​zabbix_proxy|файле конфигурации прокси]].
  
   JavaGateway=192.168.3.14   JavaGateway=192.168.3.14
   JavaGatewayPort=10052   JavaGatewayPort=10052
  
-По умолчанию,​ сервер на запускает процессы связанные с мониторингом JMX. Если же вы хотите использовать этот тип мониторинга,​ то вам нужно указать количество экземпляров Java поллеров. Вы можете это сделать таким же способом как и изменение количества поллеров и трапперов.+По умолчанию,​ сервер нзапускает процессы связанные с мониторингом JMX. Если же вы хотите использовать этот тип мониторинга,​ то вам нужно указать количество экземпляров Java поллеров. Вы можете это сделать таким же способом как и изменение количества поллеров и трапперов.
  
   StartJavaPollers=5   StartJavaPollers=5
Line 102: Line 90:
 в случае,​ если сообщение об ошибке элемента данных в веб-интерфейсе недостаточно информативно,​ вы можете обратиться к файлу журнала Java gateway. ​ в случае,​ если сообщение об ошибке элемента данных в веб-интерфейсе недостаточно информативно,​ вы можете обратиться к файлу журнала Java gateway. ​
  
-По умолчанию,​ Java gateway записывает журнал в файл /​tmp/​zabbix_java.log с уровнем журналирования "инфо". Бывает,​ что этой информации недостаточно и требуется информация уровня журналирования "отладка". Чтобы увеличить уровень журналирования,​ отредактируйте файл lib/​logback.xml и  +По умолчанию,​ Java gateway записывает журнал в файл /​tmp/​zabbix_java.log с уровнем журналирования ​%%"%%info%%"%%. Бывает,​ что этой информации недостаточно и требуется информация уровня журналирования ​%%"%%debug%%"%%. Чтобы увеличить уровень журналирования,​ отредактируйте файл lib/​logback.xml и измените атрибут level тега <​root>​ на %%"%%debug%%"%%
-измените атрибут ​"level" ​тэга <​root>​ на "​debug": ​+
  
   <root level="​debug">​   <root level="​debug">​