[comment]: # translation:outdated

[comment]: # ({5380e993-5380e993})
# - 从源代码安装

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

[comment]: # ({8d0f220e-8d0f220e})
#### 概述

如果[安装java网关](/manual/installation/install#安装java网关)
来自源码安装，以下信息将帮助您配置
Zabbix [Java gateway](/manual/concepts/java)。

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

[comment]: # ({c7b9c973-305c7876})
#### 文件概览

如果从源代码获取Java网关，您应该在$PREFIX/sbin/zabbix\_java目录下得到一系列shell脚本、JAR文件和配置文件。这些文件的作用如下所述。

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

Java网关JAR文件file本身。

    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网关的依赖项：[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网关的便捷脚本。

    settings.sh

配置file，由上述启动和关闭脚本引用。

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

[comment]: # ({efe41890-571dbbe2})
#### 配置并运行Java网关

默认情况下，Java网关监听端口10052。如果计划运行
在不同端口上运行的Java网关，可以在settings.sh中指定
脚本。有关如何指定此内容，请参阅[Java gateway configuration
file](/manual/appendix/config/zabbix_java)的描述。
其他选项。

::: notewarning
端口10052未[IANA
registered](http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.txt)。

:::

一旦您对设置感到满意，就可以启动Java网关
通过运行启动脚本:

    ./startup.sh

同样地，当您不再需要Java网关时，run关闭脚本
要停止它：

    ./shutdown.sh

请注意，与server 或 proxy不同，Java网关是轻量级的且不会
不需要数据库。

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

[comment]: # ({81ca4902-81ca4902})
#### 配置服务器以与 Java 网关配合使用

在Java网关启动并运行后，您需要告知Zabbix server如何找到Zabbix Java网关。这通过在[server configuration
file](/manual/appendix/config/zabbix_server)中指定JavaGateway和JavaGatewayPort参数来实现。如果运行JMX应用程序的主机由Zabbix proxy监控，则应在[proxy configuration
file](/manual/appendix/config/zabbix_proxy)中指定连接参数。

    JavaGateway=192.168.3.14
    JavaGatewayPort=10052

默认情况下，服务器不会启动任何与JMX监控相关的进程。但如果您希望使用此功能，则必须指定预分叉的Java轮询器实例数量。这与指定常规轮询器和捕获器的方式相同。

    StartJavaPollers=5

配置完成后，请勿忘记重启server 或 proxy。

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

[comment]: # ({d86274ab-d86274ab})
#### 调试 Java 网关

若Java网关出现任何问题 或前端显示的监控项错误信息描述不够详细
您可能需要查看Java网关日志file

默认情况下 Java网关将其活动记录到/tmp/zabbix\_java.log
file 日志级别为"info". 有时这些信息不足 需要
"debug"级别的日志信息. 要提高日志级别 请修改file lib/logback.xml 
并将<root>标签的level属性改为"debug":

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

请注意 与Zabbix server或Zabbix proxy不同 修改
logback.xml file后无需重启Zabbix Java网关 - 
logback.xml的更改会自动生效. 调试完成后
您可以将日志级别恢复为"info".

如需记录到不同的file或完全不同的介质
如数据库 请调整logback.xml file以满足需求. 详见[Logback
Manual](http://logback.qos.ch/manual/)

有时出于调试目的 将Java网关作为控制台应用程序而非
守护进程启动会很有用. 要实现这一点 请注释掉
settings.sh中的PID\_FILE变量. 如果省略PID\_FILE
startup.sh脚本会将Java网关作为控制台应用程序启动 并使Logback
改用lib/logback-console.xml file 该配置不仅记录到
控制台 还启用了"debug"日志级别.

最后请注意 由于Java网关使用SLF4J进行日志记录 您可以通过
将适当的JAR file放入lib目录来替换Logback为
您选择的框架. 详见[SLF4J
Manual](http://www.slf4j.org/manual.html)

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

[comment]: # ({4332cfb8-4332cfb8})
#### JMX监控

详情请参阅[JMX monitoring](/manual/config/items/itemtypes/jmx_monitoring)页面

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