O suporte nativo para monitoramento de aplicativos JMX existe na forma de um daemon chamado "Zabbix Java gateway, disponível desde a versão Zabbix 2.0. O Zabbix Java gateway é um daemon escrito em Java. Para saber o valor de um contador JMX específico em um Host, o servidor Zabbix consulta o Zabbix Java gateway, que utiliza JMX management API para consultar remotamente a aplicação de interesse. A aplicação não necessita de nenhum software extra instalado, apenas precisa ser iniciada com a opção Dcom.sun.management.jmxremote
na linha de comando.
O Java gateway aceita conexão de entrada a partir do servidor ou proxy do Zabbix e apenas pode ser utilizado como um "passive proxy". Ao contrário do proxy Zabbix, também pode ser usado a partir do proxy Zabbix (os proxies do Zabbix não podem ser encadeados). O acesso a cada Java gateway é configurado diretamente no servidor Zabbix ou no arquivo de configuração do proxy. Assim, apenas um Java gateway pode ser configurado por vez no servidor ou no proxy Zabbix. Se um host tiver itens do tipo JMX agent e itens de outro tipo, somente os itens JMX agent serão encaminhados para recuperação de Java gateway.
Quando um item precisa ser atualizado por meio do Java gateway, o servidor ou proxy do Zabbix se conectará com o Java gateway e solicitará o valor, que o Java gateway por sua vez recupera e retorna para o servidor ou para o proxy. Portanto, o Java gateway não armazena nenhum valor em cache.
O servidor ou proxy do Zabbix tem um tipo específico de processos que se conectam ao Java gateway, controlados pela opção StartJavaPollers. Internamente, o Java gateway inicia várias threads, controladas pela opção START_POLLERS option. No servidor, se uma conexão levar mais que Timeout de segundos, será finalizada. Porém, o Java gateway ainda pode estar ocupado, recuperando valores do contador JMX. Para resolver isso, existe a opção TIMEOUT no Java gateway, que permite configurar timeouts para operações de rede JMX.
O servidor ou proxy do Zabbix tentará agrupar as solicitações de pool para um único alvo JMX o máximo possível (afetado pelos intervalos de itens) e enviará essas solicitações para o Java gateway em uma única conexão para melhorar o desempenho. É sugerido que o número de StartJavaPollers seja menor ou igual a START_POLLERS. Caso contrário, pode haver situações em que nenhuma thread estará disponível no Java gateway para atender às solicitações recebidas; nesse caso, o Java gateway utiliza ThreadPoolExecutor.CallerRunsPolicy, significando que a thread principal atenderá a solicitação recebida e não aceitará novas solicitações temporariamente.
If you are trying to monitor Wildfly-based Java applications with Zabbix Java gateway, please install the latest jboss-client.jar available on the Wildfly download page.
Se você estiver tentando monitorar aplicativos Wildfly-based Java com Java gateway do Zabbix, por favor, instale a última versão de jboss-client.jar disponível na página de downloads Wildfly download page.
Você pode instalar o gateway Java a partir das fontes ou pacotes baixados do Zabbix website.
Usando os links abaixo, você pode acessar informações sobre como obter e executar Zabbix Java gateway, como configurar o servidor Zabbix (ou proxy Zabbix) para utilizar Zabbix Java gateway para monitoramento JMX, e como configurar os items no frontend Zabbix que correspondem a contadores JMX específicos .
Instalação a partir de | Instruções | Instruções |
---|---|---|
Fontes | Instalação | Configuração |
pacotes RHEL/CentOS | Instalação | Configuração |
pacotes Debian/Ubuntu | Instalação | Configuração |