从源代码安装
概述
如果是从源代码安装的,以下信息将帮助你设置 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
由上面的启动和停止脚本加载的配置文件。
配置和运行 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 页面。