3 从源代码安装
概述
如果是从源代码安装,以下信息将帮助你设置 Zabbix Java 网关。
文件概览
如果您是从源代码获取的 Java 网关,那么在 $PREFIX/sbin/zabbix_java 下应当会有一组 shell 脚本、JAR 文件和配置文件。
这些文件的作用如下所示。
bin/zabbix-java-gateway-$VERSION.jar
Java 网关 JAR 文件本身。
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、SLF4J 和 Android JSON 库。
lib/logback.xml
lib/logback-console.xml
Logback 的配置文件。
shutdown.sh
startup.sh
用于启动和停止 Java 网关的便捷脚本。
settings.sh
由上面的 startup 和 shutdown 脚本加载的配置文件。
配置和运行 Java 网关
默认情况下,Java 网关监听 10052 端口。如果您计划让 Java 网关运行在其他端口上,可以在 settings.sh 脚本中进行指定。
有关如何指定此项以及其他选项,请参见Java 网关配置文件的说明。
10052 端口未在 IANA 注册。
当您确认这些设置无误后,可以通过运行 startup.sh 脚本来启动 Java 网关:
./startup.sh
同样地,当您不再需要 Java 网关时,运行 shutdown.sh 脚本即可将其停止:
./shutdown.sh
请注意,与服务器或 proxy 不同,Java 网关是轻量级的,不需要数据库。
配置服务器以使用 Java 网关
在 Java 网关启动并运行后,您需要告诉 Zabbix 服务器到哪里查找 Zabbix Java 网关。
这可以通过在 服务器配置文件 中指定 JavaGateway 和 JavaGatewayPort 参数来完成。
如果运行 JMX 应用程序的主机由 Zabbix proxy 监控,则应改为在 proxy 配置文件 中指定连接参数。
JavaGateway=192.168.3.14
JavaGatewayPort=10052
默认情况下,服务器不会启动任何与 JMX 监控相关的进程。
不过,如果您希望使用该功能,则必须指定预先 fork 的 Java poller 实例数量。
其配置方式与指定常规 poller 和 trapper 相同。
StartJavaPollers=5
完成配置后,不要忘记重启服务器或 proxy。
Java 网关调试
如果 Java 网关存在任何问题,或者您在前端看到的关于某个监控项的错误信息不够明确,您可能需要查看 Java 网关日志文件。
默认情况下,Java 网关会将活动记录到 /tmp/zabbix_java.log 文件中,日志级别为 "info"。
有时这些信息还不够,需要使用日志级别为 "debug" 的信息。
要提高日志级别,请修改 lib/logback.xml 文件,并将 <root> 标签的 level 属性更改为 debug:
<root level="debug">
<appender-ref ref="FILE" />
</root>
请注意,与 Zabbix 服务器或 Zabbix proxy 不同,在更改 logback.xml 文件后无需重启 Zabbix Java 网关 - logback.xml 中的更改会自动生效。
完成调试后,您可以将日志级别恢复为 "info"。
如果您希望将日志记录到其他文件,或者记录到完全不同的介质(例如数据库),请调整 logback.xml 文件以满足您的需求。
有关更多详细信息,请参阅 Logback Manual。
有时,为了调试,使用控制台应用程序而不是守护进程来启动 Java 网关会很有帮助。
为此,请在 settings.sh 中注释掉 PID_FILE 变量。
如果省略 PID_FILE,startup.sh 脚本将以控制台应用程序的方式启动 Java 网关,并让 Logback 改用 lib/logback-console.xml 文件;该文件不仅会将日志输出到控制台,还会启用 "debug" 日志级别。
最后,请注意,由于 Java 网关使用 SLF4J 进行日志记录,您可以通过在 lib 目录中放置合适的 JAR 文件,将 Logback 替换为您选择的框架。 有关更多详细信息,请参阅 SLF4J Manual。
JMX 监控
有关更多详细信息,请参阅 JMX monitoring 页面。