这是原厂英文文档的翻译页面. 欢迎帮助我们 完善文档.

5 Java网关

概述

Zabbix Java网关以 Zabbix 守护进程方式原生支持监控 JMX 应用程序。Zabbix Java网关的守护进程是用 Java 编写。为了在特定主机上找到 JMX 计数器的值,Zabbix server 向 Zabbix Java网关发送请求,后者使用 JMX 管理 API 来远程查询相关的应用。该应用不需要安装额外的软件。只需要在启动时,命令行添加-Dcom.sun.management.jmxremote选项即可。

Java 网关接受来自 Zabbix server 或 Zabbix proxy 的传入连接,并且只能用作“被动 proxy”。与 Zabbix proxy 相反,它也可以从 Zabbix proxy (Zabbix proxy 不能被链接)调用。在 Zabbix server 或 Zabbix proxy 配置文件中,可以直接配置每个 Java网关的访问,因此每个 Zabbix server 或 Zabbix proxy 只能配置一个 Java网关。如果主机将有 JMX agent 或其他类型的监控项,则只将 JMX agent 监控项传递给 Java网关进行检索。

当必须通过 Java网关更新监控项时,Zabbix server 或 proxy 将连接到 Java网关并请求该值,Java网关将检索该值并将其传递回 Zabbix server 或 Zabbix proxy。 因此,Java网关不会缓存任何值。

Zabbix server 或 Zabbix proxy 具有连接到 Java网关的特定类型的进程,由 StartJavaPollers 选项控制。在内部,Java网关启动多个线程,由 START_POLLERS 选项 控制。 在服务器端,如果连接超过 Timeout 选项配置的秒数,它将被终止,但 Java网关可能仍在忙于从 JMX 计数器检索值。 为了解决这个问题,Java 网关中有 TIMEOUT 选项,允许为 JMX 网络操作设置超时。

Zabbix server 或 proxy 尝试尽可能地将请求汇集到单个 JMX 目标(受监控项取值间隔影响),并在单个连接中将它们发送到 Java网关以获得更好的性能。

建议让 StartJavaPollers 选项的值小于或等于 START_POLLERS,否则可能会出现 Java网关中没有可用线程来为传入请求提供服务的情况。在这种情况下,Java网关使用 ThreadPoolExecutor.CallerRunsPolicy,表示主线程将处理传入的请求,暂时不接受任何新请求。

如果您尝试使用Zabbix Java网关监控 Wildfly-based 的Java应用程序,请在 Wildfly下载页面 下载安装最新的jboss-client.jar。

获取java网关

您可以从源代码或从下载的包中安装Java网关 Zabbix website.

使用下面的链接,您可以访问以下信息:如何获取和运行Zabbix java网关,如何配置Zabbix server(或Zabbix proxy)以使用Zabbix Java 网关进行JMX监控,以及如何在Zabbix前端配置对应于特定JMX计数器的Zabbix监控项。

安装途径 安装说明 配置步骤说明
Sources 安装 配置
RHEL packages 安装 配置
Debian/Ubuntu packages 安装 配置