On this page

Java gateway

Panoramica

Zabbix Java gateway può essere installato dal codice sorgente o dai pacchetti.

Il supporto nativo per il monitoraggio delle applicazioni JMX è disponibile sotto forma di un demone Zabbix denominato "Zabbix Java gateway". Zabbix Java gateway è un demone scritto in Java. Per trovare il valore di un determinato contatore JMX su un host, Zabbix server interroga Zabbix Java gateway, che utilizza la JMX management API per interrogare da remoto l'applicazione interessata. Non è necessario installare software aggiuntivo sull'applicazione; è sufficiente avviarla con l'opzione -Dcom.sun.management.jmxremote nella riga di comando.

Java gateway accetta connessioni in ingresso da Zabbix server o proxy e può essere utilizzato solo come "proxy passivo". A differenza del proxy Zabbix, può essere utilizzato anche da un proxy Zabbix (i proxy Zabbix non possono essere concatenati). L'accesso a ogni Java gateway viene configurato direttamente nel file di configurazione di Zabbix server o del Zabbix proxy; pertanto, è possibile configurare un solo Java gateway per ogni Zabbix server o Zabbix proxy. Se un host contiene item di tipo JMX agent e item di altri tipi, solo gli item JMX agent verranno passati a Java gateway per il recupero.

Quando un item deve essere aggiornato tramite Java gateway, il server o il proxy di Zabbix si connette al Java gateway e richiede il valore, che a sua volta il Java gateway recupera e restituisce al server o al proxy. Di conseguenza, Java gateway non memorizza nella cache alcun valore.

Il server o il proxy di Zabbix dispone di un tipo specifico di processi che si connettono al Java gateway, controllati dall'opzione StartJavaPollers. Internamente, Java gateway avvia più thread, controllati dall'opzione START_POLLERS option. Sul lato server, se una connessione impiega più di "Timeout" secondi, viene terminata, ma Java gateway potrebbe essere ancora occupato a recuperare il valore dal contatore JMX. Per risolvere questo problema, in Java gateway è disponibile l'opzione TIMEOUT, che consente di impostare il timeout per le operazioni di rete JMX.

Vedi anche:

Zabbix server o proxy cercherà di raggruppare il più possibile le richieste verso un singolo target JMX (influenzato dagli intervalli degli item) e di inviarle al Java gateway in un'unica connessione per ottenere prestazioni migliori.

Si consiglia di impostare StartJavaPollers su un valore minore o uguale a START_POLLERS; in caso contrario, potrebbero verificarsi situazioni in cui non sono disponibili thread nel Java gateway per gestire le richieste in arrivo. In tali casi, il Java gateway utilizza ThreadPoolExecutor.CallerRunsPolicy, il che significa che il thread principale gestirà la richiesta in arrivo e temporaneamente non accetterà nuove richieste.

Se si sta cercando di monitorare applicazioni Java basate su Wildfly con Zabbix Java gateway, installare la versione più recente di jboss-client.jar disponibile nella pagina di download di Wildfly.