5 Pasarela Java
Descripción general
Zabbix Java gateway puede instalarse desde el código fuente o mediante paquetes.
Existe soporte nativo para la monitorización de aplicaciones JMX en forma de un
daemon de Zabbix llamado "Zabbix Java gateway".
Zabbix Java gateway es un daemon escrito en Java. Para averiguar el valor
de un contador JMX concreto en un host, Zabbix server consulta a Zabbix Java
gateway, que utiliza la API de gestión de
JMX
para consultar de forma remota la aplicación de interés. La aplicación no
necesita tener software adicional instalado; solo debe iniciarse con la opción
-Dcom.sun.management.jmxremote en la línea de comandos.
Java gateway acepta conexiones entrantes desde Zabbix server o proxy y solo puede utilizarse como un "proxy pasivo". A diferencia de Zabbix proxy, también puede ser utilizado desde Zabbix proxy (los proxies de Zabbix no pueden encadenarse). El acceso a cada Java gateway se configura directamente en el archivo de configuración de Zabbix server o proxy; por lo tanto, solo puede configurarse un Java gateway por cada Zabbix server o Zabbix proxy. Si un host tiene items de tipo JMX agent e items de otro tipo, solo los items de JMX agent se pasarán a Java gateway para su obtención.
Cuando una métrica debe actualizarse a través de una puerta de enlace Java, un servidor Zabbix o un proxy se conectará a la puerta de enlace de Java y solicitará el valor, que la puerta de enlace Java, a su vez, recupera y devuelve al servidor o proxy. De este modo, la puerta de enlace Java no almacena en caché ningún valor.
El servidor o proxy Zabbix tiene un tipo específico de procesos que se conectan a la puerta de enlace Java, controlado por la opción StartJavaPollers. Internamente, la puerta de enlace Java inicia múltiples subprocesos, controlados por la opción START_POLLERS. Del lado del servidor, si una conexión tarda más de Timeout segundos, finalizará, pero es posible que la puerta de enlace Java aún esté ocupada recuperando el valor del contador JMX. Para solucionar esto, existe la opción TIMEOUT en la puerta de enlace de Java que permite establecer el tiempo de espera para las operaciones de la red JMX.
El servidor o proxy Zabbix intentarán agrupar solicitudes en un único objetivo JMX tanto como sea posible (dependiendo de los intervalos de las métricas) y las enviará a la puerta de enlace de Java en una única conexión para un mejor rendimiento.
Se sugiere tener StartJavaPollers menor o igual a START_POLLERS; de lo contrario, puede haber situaciones en las que no haya hilos disponibles en la puerta de enlace de Java para atender las solicitudes entrantes; en tal caso, la puerta de enlace Java utiliza ThreadPoolExecutor.CallerRunsPolicy, es decir que el hilo principal atenderá la solicitud entrante y no aceptará otras solicitudes nuevas temporalmente.
Si está intentando monitorear aplicaciones Java basadas en Wildfly con la puerta de enlace Java Zabbix, instale el último jboss-client.jar disponible en la página de descarga de Wildfly.