El soporte nativo para monitorear aplicaciones JMX existe en forma de demonio Zabbix llamado "puerta de enlace Java Zabbix". La puerta de enlace Java Zabbix es un demonio escrito en Java. Para saber el valor de un contador JMX particular en un equipo, el servidor Zabbix consulta la puerta de enlace Java Zabbix, que utiliza la API de administración JMX para consultar la solicitud de interés de forma remota. La aplicación no necesita instalar algún software adicional, solo tiene que iniciarlo con la opción -Dcom.sun.management.jmxremote
en la línea de comando.
La puerta de enlace Java acepta conexiones entrantes desde el servidor Zabbix o proxy y sólo se puede utilizar como un "proxy pasivo". A diferencia del proxy Zabbix, también se puede utilizar desde el proxy Zabbix (los proxies Zabbix no se pueden encadenar). El acceso a cada puerta de enlace Java se configura directamente en el servidor Zabbix o en el archivo de configuración de proxy, por lo que sólo se puede configurar una puerta de enlace Java por servidor Zabbix o proxy Zabbix. Si un equipo tiene métricas de tipo agente JMX y métricas de otro tipo, solo las métricas del agente JMX se pasarán a la puerta de enlace de Java para obtenerlas.
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.
Puede instalar Java Gateway desde las fuentes o desde los paquetes, descargadolos del [sitio web de Zabbix] (http://www.zabbix.com/download.php).
Usando los enlaces a continuación puede acceder a información sobre cómo obtener y ejecutar la puerta de enlace Java de Zabbix, cómo configurar el servidor Zabbix (o proxy Zabbix) para use la puerta de enlace Java de Zabbix para el monitoreo JMX y cómo configurar las métricas Zabbix en la interfaz de Zabbix que corresponden a contadores JMX específicos.
Instalación desde | Instrucciones | Instrucciones |
---|---|---|
Fuentes | Instalación | Configuración |
Paquetes RHEL | Instalación | Configuración |
Paquetes Debian/Ubuntu | Instalación | Configuración |