从源码安装
概述
如果是从源码安装,以下信息将帮助您设置 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 注册。
当您确认这些设置无误后,可以通过运行启动脚本来启动 Java 网关:
./startup.sh
同样,当您不再需要 Java 网关时,运行关闭脚本即可停止它:
./shutdown.sh
请注意,与服务器或 proxy 不同,Java 网关是轻量级组件,不需要数据库。
配置Zabbix Server 关联Java网关
当Java网关启动并运行后,你需要告诉Zabbix server去哪里找Zabbix Java网关。通过在server 配置文件中指定JavaGateway和JavaGatewayPort来完成这个操作。如果运行JMX应用程序的主机是由Zabbix代理监控的,则可以在proxy 配置文件中指定连接参数。
JavaGateway=192.168.3.14
JavaGatewayPort=10052
默认情况下,server不会启动任何与JMX监控相关的进程。如果你希望用到它,则必须指定Java pollers的数量。此操作与配置常规 pollers 和 trappers数量一样。
StartJavaPollers=5
配置完server或proxy后,一定不要忘记重启server或proxy。
调试Java网关
为了防止在 Java网关出现任何问题或在 Zabbix 前端看不到详细的报错信息的情况下,你可以通过 Java网关日志文件来查看。
默认情况下,Java网关将其活动日志记录到日志级别为 "info" 的 /tmp/zabbix_java.log 文件中。有时候,该日志信息可能不够详细,需要在日志级别为 "debug" 中获取。为了提升日志级别,需要修改 lib/logback.xml 文件,并将 <root> 标记的日志等级属性更改为 "debug":
<root level="debug">
<appender-ref ref="FILE" />
</root>
值得注意的是,与 Zabbix server 或 Zabbix proxy 不同,更改 logback.xml 文件并不需要重启 Zabbix Java网关,它会自动提交。当完成调试后,可以将日志级别还原成“info”。
如果希望将日志记录到其他文件或完全不同的介质,如数据库,那么只需要调整 logback.xml 文件。详见Logback 手册 获取更多信息。
有时为了调试,将 Java 网关用作控制台应用比以守护进程来启动更方便。因此可以在 settings.sh 中注释掉 PID_FILE 变量,这时运行startup.sh 脚本启动 Java网关就会作为控制台应用来启动,并将 Logback 使用 lib/logback-console.xml 文件,这不仅会记录到控制台,还会启用日志级别 “debug”。
最后,请注意,由于 Java网关使用 SLF4J 来记录,您可以通过在 lib 目录放置合适的 JAR 文件来将 Logback 替换为您选中的框架。详见 SLF4J 手册 以获取更多信息。
JMX 监控
更多详细信息,请参见 JMX monitoring 页面。