[comment]: # ({869698af-5380e993})
# 3 Установка из исходных кодов

[comment]: # ({/869698af-5380e993})

[comment]: # ({c93259be-8d0f220e})
#### Обзор

Если Zabbix Java Gateway [установлен](/manual/installation/install#установка-java-gateway) из исходных кодов, следующая информация поможет вам настроить Zabbix [Java gateway](/manual/concepts/java). 

[comment]: # ({/c93259be-8d0f220e})

[comment]: # ({931dace7-305c7876})
#### Обзор файлов

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

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

Сам JAR-файл Java gateway.

    lib/logback-core-1.5.16.jar
    lib/logback-classic-1.5.16.jar
    lib/slf4j-api-2.0.16.jar
    lib/android-json-4.3_r3.1.jar

Зависимости Java gateway: библиотека [Logback](http://logback.qos.ch/), [SLF4J](http://www.slf4j.org/) и [Android JSON](https://android.googlesource.com/platform/libcore/+/master/json).

    lib/logback.xml  
    lib/logback-console.xml

Конфигурационные файлы для Logback.

    shutdown.sh  
    startup.sh

Удобные скрипты для запуска и остановки Java gateway.

    settings.sh

Конфигурационный файл, который подключается указанными выше скриптами startup и shutdown.

[comment]: # ({/931dace7-305c7876})

[comment]: # ({c5692cf9-571dbbe2})
#### Настройка и запуск Java gateway

По умолчанию Java gateway прослушивает порт 10052. Если вы планируете запускать Java gateway на другом порту, вы можете указать это в скрипте `settings.sh`.
См. описание [файла конфигурации Java gateway](/manual/appendix/config/zabbix_java), чтобы узнать, как задать этот и другие параметры.

::: notewarning
Порт 10052 не зарегистрирован в [IANA](http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.txt).
:::

После того как вы настроите параметры, вы можете запустить Java gateway, выполнив скрипт `startup.sh`:

    ./startup.sh

Аналогично, когда Java gateway больше не нужен, выполните скрипт `shutdown.sh`, чтобы остановить его:

    ./shutdown.sh

Обратите внимание, что в отличие от server или proxy, Java gateway является легковесным и не требует базы данных.

[comment]: # ({/c5692cf9-571dbbe2})

[comment]: # ({d85c9798-81ca4902})
#### Настройка сервера для использования с Java gateway

После запуска Java gateway необходимо указать Zabbix сервер, где найти Zabbix Java gateway.
Для этого в [файле конфигурации сервера](/manual/appendix/config/zabbix_server) задаются параметры `JavaGateway` и `JavaGatewayPort`.
Если узел сети, на котором работает JMX-приложение, отслеживается через Zabbix прокси, то параметры подключения следует указать в [файле конфигурации прокси](/manual/appendix/config/zabbix_proxy).

    JavaGateway=192.168.3.14
    JavaGatewayPort=10052

По умолчанию сервер не запускает никаких процессов, связанных с мониторингом JMX.
Однако если вы хотите использовать его, необходимо указать количество предварительно порожденных экземпляров Java pollers.
Это делается так же, как при указании обычных pollers и trappers.

    StartJavaPollers=5

Не забудьте перезапустить сервер или прокси после завершения настройки.

[comment]: # ({/d85c9798-81ca4902})

[comment]: # ({3cde3628-d86274ab})
#### Отладка Java gateway

Если возникают какие-либо проблемы с Java gateway или сообщение об ошибке, которое вы видите в веб-интерфейсе для элемента данных, недостаточно информативно, возможно, вам стоит посмотреть файл журнала Java gateway.

По умолчанию Java gateway записывает свою активность в файл `/tmp/zabbix_java.log` с уровнем журналирования "info".
Иногда этой информации недостаточно, и требуется информация с уровнем журналирования "debug".
Чтобы повысить уровень журналирования, измените файл `lib/logback.xml` и значение атрибута level тега `<root>` на `debug`:

    <root level="debug">
      <appender-ref ref="FILE" />
    </root>

Обратите внимание, что в отличие от сервера Zabbix или прокси Zabbix, после изменения файла `logback.xml` перезапуск Zabbix Java gateway не требуется - изменения в `logback.xml` будут применены автоматически.
Когда отладка будет завершена, вы можете вернуть уровень журналирования на "info".

Если вы хотите вести журнал в другой файл или в совершенно другой носитель, например в базу данных, настройте файл `logback.xml` в соответствии со своими потребностями.
Подробнее см. в [Руководстве Logback](http://logback.qos.ch/manual/).

Иногда для целей отладки полезно запускать Java gateway как консольное приложение, а не как демон.
Чтобы сделать это, закомментируйте переменную `PID_FILE` в `settings.sh`.
Если `PID_FILE` опущена, сценарий `startup.sh` запускает Java gateway как консольное приложение и заставляет Logback использовать файл `lib/logback-console.xml`, который не только записывает журнал в консоль, но и включает уровень журналирования "debug".

Наконец, обратите внимание, что поскольку Java gateway использует SLF4J для журналирования, вы можете заменить Logback на любой другой фреймворк, поместив соответствующий JAR-файл в каталог lib.
Подробнее см. в [Руководстве SLF4J](http://www.slf4j.org/manual.html).

[comment]: # ({/3cde3628-d86274ab})

[comment]: # ({27e67930-4332cfb8})
#### Мониторинг JMX

См. страницу [Мониторинг JMX](/manual/config/items/itemtypes/jmx_monitoring) для получения дополнительных сведений.

[comment]: # ({/27e67930-4332cfb8})
