La pasarela Java de Zabbix puede instalarse desde código fuente o paquetes.
Existe soporte nativo para la monitorización de aplicaciones JMX en forma de un demonio de Zabbix llamado "pasarela Java de Zabbix". La pasarela Java de Zabbix es un demonio escrito en Java. Para averiguar el valor de un contador JMX concreto en un host, el servidor Zabbix consulta a la pasarela Java de Zabbix, que utiliza la API de gestión JMX para consultar la aplicación de interés de forma remota. La aplicación no necesita ningún software adicional instalado, solo debe iniciarse con la opción -Dcom.sun.management.jmxremote
en la línea de comandos.
La pasarela Java acepta conexiones entrantes desde el servidor o proxy de Zabbix y solo puede utilizarse como un "proxy pasivo". A diferencia del proxy de Zabbix, también puede utilizarse desde el proxy de Zabbix (los proxies de Zabbix no pueden encadenarse). El acceso a cada pasarela Java se configura directamente en el archivo de configuración del servidor o proxy de Zabbix, por lo que solo se puede configurar una pasarela Java por servidor o proxy de Zabbix. Si un host tiene elementos de tipo agente JMX y elementos de otro tipo, solo los elementos agente JMX se enviarán a la pasarela Java para su recuperación.
Cuando una métrica debe actualizarse a través del Java gateway, el servidor o proxy de Zabbix se conectará al Java gateway y solicitará el valor, que el Java gateway a su vez recupera y devuelve al servidor o proxy. Por lo tanto, el Java gateway no almacena en caché ningún valor.
El servidor o proxy de Zabbix tiene un tipo específico de procesos que se conectan al Java gateway, controlados por la opción StartJavaPollers. Internamente, el Java gateway inicia múltiples hilos, controlados por la opción START_POLLERS opción. En el lado del servidor, si una conexión tarda más de Timeout segundos, se terminará, pero el Java gateway aún podría estar ocupado recuperando el valor del contador JMX. Para resolver esto, existe la opción TIMEOUT en el Java gateway que permite establecer el tiempo de espera para las operaciones de red JMX.
El servidor o proxy de Zabbix intentará agrupar las solicitudes a un único destino JMX tanto como sea posible (afectado por los intervalos de las métricas) y enviarlas al Java gateway en una sola conexión para un mejor rendimiento.
Se sugiere que StartJavaPollers sea menor o igual que START_POLLERS, de lo contrario, podría haber situaciones en las que no haya hilos disponibles en el Java gateway para atender las solicitudes entrantes; en tal caso, el Java gateway utiliza ThreadPoolExecutor.CallerRunsPolicy, lo que significa que el hilo principal atenderá la solicitud entrante y no aceptará nuevas solicitudes temporalmente.
Si está intentando monitorizar aplicaciones Java basadas en Wildfly con el Java gateway de Zabbix, por favor instale el último jboss-client.jar disponible en la página de descargas de Wildfly.