1 使用源码安装

概述

如果您是使用源码安装, 那么下列信息会帮助你配置Zabbix Java网关

文件概述

如果你从源码中获得Java网关,那么您最终会得到 $PREFIX/sbin/zabbix_java 下的Shell脚本、JAR和配置文件的集合。这些文件的作用总结如下:

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

Java 网关 JAR 文件。

  1. lib/logback-core-0.9.27.jar
  2. lib/logback-classic-0.9.27.jar
  3. lib/slf4j-api-1.6.1.jar
  4. lib/android-json-4.3_r3.1.jar

Java 网关依赖于: Logback, SLF4JAndroid JSON库。

  1. lib/logback.xml
  2. lib/logback-console.xml

Logback的配置文件。

  1. shutdown.sh
  2. startup.sh

用于启动和停止Java网关的便捷脚本。

  1. settings.sh

用于控制启动和停止脚本的配置文件。

配置和运行Java网关

Java网关默认监听10052端口。如果你想运行Java网关在其他端口,你可以在settings.sh的脚本中指定其他端口号。详情可见Java网关配置文件中描述的如何更改端口等其他信息。

10052端口不是由IANA 注册的.

当配置好,你可以使用启动脚本来运行Java网关:

  1. $ ./startup.sh

同样,如果你不再使用Java网关了,可以运行关闭脚本将其停止:

  1. $ ./shutdown.sh

请注意,Java网关是轻量应用,不需要数据库,这一点与Server和Proxy不同。

配置Zabbix Server使用Java网关

当Java网关启动并运行后,如何告诉Zabbix server去哪里找到Zabbix Java网关呢?通过在server 配置文件中制定JavaGateway和JavaGatewayPort来完成这个操作。如果运行JMX应用程序的主机是由Zabbix代理监控的,则可以在proxy 配置文件中指定连接参数。

  1. JavaGateway=192.168.3.14
  2. JavaGatewayPort=10052

默认情况下,server不会启动任何与JMX监控相关的进程。但是,如果你想用到它,则必须制定Java pollers的数量。此操作与指定常规 pollers 和 trappers 相同。

  1. StartJavaPollers=5

配置完server或proxy后,一定不要忘记重启server或proxy。

调试Java网关

为了防止在 Java gateway 出现任何问题或在 Zabbix 前端看不到详细的报错信息的情况下,您可以通过 Java gateway 日志文件来查看。

默认情况下,Java gateway 将其活动日志记录到日志级别为 “info” 的 /tmp/zabbix_java.log 文件中。有时候,该日志信息可能不够详细,需要在日志级别为 “debug” 中获取。为了提升日志级别,需要修改 lib/logback.xml 文件,并将 <root> 标记的日志等级属性更改为 “debug”:

  1. <root level="debug">
  2. <appender-ref ref="FILE" />
  3. </root>

值得注意的是,与 Zabbix server 或 Zabbix proxy 不同,更改 logback.xml 文件并不需要重启 Zabbix Java gateway,它会自动提交。当完成调试后,可以将日志级别修改回 “info”。

如果希望将日志记录到其他文件或完全不同的介质,如数据库,那么只需要调整 logback.xml 文件。详见Logback 手册 获取更多信息。

有时为了调试,将 Java 网关用作控制台应用而不是守护进程来启动是很有必要的。为此,可以在 settings.sh 中注释掉 PID_FILE 变量。如果省略掉 PID_FILE,则 startup.sh 脚本启动 Java gateway 时会作为控制台应用来启动,并将 Logback 使用 lib/logback-console.xml 文件,这不仅会记录到控制台,还会启用日志级别 “debug”。

最后,请注意,由于 Java gateway 使用 SLF4J 来记录,您可以通过在 lib 目录放置合适的 JAR 文件来将 Logback 替换为您选中的框架。详见 SLF4J 手册 以获取更多信息。

JMX 监控

详见 JMX 监控 页面以获取更多信息。