本篇文章主要介绍如何使用JMX技术实现对基于Java的中间件应用在Zabbix平台上的性能监控和告警配置。
Zabbix 通过 JMX 方式监控 Java 中间件的功能在 Zabbix 2.0 版本中得到了支持,并引入了一个名为“Zabbix-Java-gateway”的服务进程,该程序是用 Java 编写的。
其工作原理如下:当 zabbix_server 需要知道主机上的特定 JMX 值时,它会向 Zabbix-Java-gateway 发出请求。然后 Zabbix-Javagateway 使用 “JMX management API” 查询指定的应用程序。为了使应用程序支持 JMX 查询,在启动应用时需要添加参数“-Dcom.sun.management.jmxremote”。
Zabbix server 有一个专门的进程用于连接 Java gateway,称为 StartJavaPollers;而 Java-gateway 可以通过配置文件中的 START_POLLERS 参数设置多个线程来运行。在 Zabbix 服务器端,如果一个连接所用时间超过 Timeout 时间,则会被中断,但 Java-gateway 继续从 JMX 计数器获取数据。因此,在设置 StartJavaPollers 的值时应确保其不大于 START_POLLERS 设置的数值。
Zabbix-Java-gateway 可以视为 Zabbix 和被监控应用之间的代理。