[comment]: # ({869698af-5380e993})
# 3 Configuração a partir do código-fonte

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

[comment]: # ({c93259be-8d0f220e})
#### Visão geral

Se [instalado](/manual/installation/install#installing-java-gateway)
a partir do código-fonte, as informações a seguir ajudarão você a configurar
o Zabbix [Java gateway](/manual/concepts/java).

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

[comment]: # ({931dace7-305c7876})
#### Visão geral dos arquivos

Se você obteve o Java gateway a partir dos fontes, deverá ter terminado com uma coleção de scripts de shell, arquivos JAR e arquivos de configuração em `$PREFIX/sbin/zabbix_java`.
A função desses arquivos é resumida abaixo.

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

O próprio arquivo JAR do 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

Dependências do Java gateway: biblioteca [Logback](http://logback.qos.ch/), [SLF4J](http://www.slf4j.org/) e [Android JSON](https://android.googlesource.com/platform/libcore/+/master/json).

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

Arquivos de configuração para o Logback.

    shutdown.sh  
    startup.sh

Scripts de conveniência para iniciar e parar o Java gateway.

    settings.sh

Arquivo de configuração que é carregado pelos scripts de inicialização e encerramento acima.

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

[comment]: # ({c5692cf9-571dbbe2})
#### Configurando e executando o Java gateway

Por padrão, o Java gateway escuta na porta 10052. Se você planeja executar o Java gateway em uma porta diferente, pode especificá-la no script `settings.sh`.
Consulte a descrição do [arquivo de configuração do Java gateway](/manual/appendix/config/zabbix_java) para saber como especificar isso e outras opções.

::: notewarning
A porta 10052 não está registrada na [IANA](http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.txt).
:::

Quando estiver satisfeito com as configurações, você pode iniciar o Java gateway executando o script `startup.sh`:

    ./startup.sh

Da mesma forma, quando não precisar mais do Java gateway, execute o script `shutdown.sh` para interrompê-lo:

    ./shutdown.sh

Observe que, ao contrário de server ou proxy, o Java gateway é leve e não precisa de um banco de dados.

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

[comment]: # ({d85c9798-81ca4902})
#### Configurando o server para uso com Java gateway

Com o Java gateway em execução, você precisa informar ao Zabbix server onde encontrar o Zabbix Java gateway.
Isso é feito especificando os parâmetros `JavaGateway` e `JavaGatewayPort` no [arquivo de configuração do server](/manual/appendix/config/zabbix_server).
Se o host no qual a aplicação JMX está sendo executada for monitorado por um Zabbix proxy, então você deve especificar os parâmetros de conexão no [arquivo de configuração do proxy](/manual/appendix/config/zabbix_proxy) em vez disso.

    JavaGateway=192.168.3.14
    JavaGatewayPort=10052

Por padrão, o server não inicia nenhum processo relacionado ao monitoramento JMX.
Se você quiser usá-lo, porém, será necessário especificar o número de instâncias pré-fork de Java pollers.
Você faz isso da mesma forma que especifica pollers e trappers regulares.

    StartJavaPollers=5

Não se esqueça de reiniciar o server ou o proxy, assim que terminar de configurá-los.

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

[comment]: # ({3cde3628-d86274ab})
#### Depuração do Java gateway

Caso haja algum problema com o Java gateway ou a mensagem de erro que você vê sobre um item no frontend não seja descritiva o suficiente, talvez seja útil consultar o arquivo de log do Java gateway.

Por padrão, o Java gateway registra suas atividades no arquivo `/tmp/zabbix_java.log` com nível de log "info".
Às vezes, essas informações não são suficientes e é necessário obter informações no nível de log "debug".
Para aumentar o nível de log, modifique o arquivo `lib/logback.xml` e altere o atributo level da tag `<root>` para `debug`:

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

Observe que, ao contrário do Zabbix server ou do Zabbix proxy, não é necessário reiniciar o Zabbix Java gateway após alterar o arquivo `logback.xml` - as alterações em `logback.xml` serão aplicadas automaticamente.
Quando terminar a depuração, você pode retornar o nível de log para "info".

Se desejar registrar em um arquivo diferente ou em um meio completamente diferente, como um banco de dados, ajuste o arquivo `logback.xml` conforme suas necessidades.
Consulte o [Manual do Logback](http://logback.qos.ch/manual/) para mais detalhes.

Às vezes, para fins de depuração, é útil iniciar o Java gateway como uma aplicação de console em vez de um daemon.
Para fazer isso, comente a variável `PID_FILE` em `settings.sh`.
Se `PID_FILE` for omitida, o script `startup.sh` inicia o Java gateway como uma aplicação de console e faz com que o Logback use o arquivo `lib/logback-console.xml` em vez disso, o qual não apenas registra no console, mas também tem o nível de log "debug" habilitado.

Por fim, observe que, como o Java gateway usa SLF4J para registro, você pode substituir o Logback pelo framework de sua escolha colocando um arquivo JAR apropriado no diretório lib.
Consulte o [Manual do SLF4J](http://www.slf4j.org/manual.html) para mais detalhes.

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

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

Consulte a página [JMX monitoring](/manual/config/items/itemtypes/jmx_monitoring) para mais detalhes.

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