Esta página foi traduzida automaticamente. Se você notar um erro, selecione-o e pressione Ctrl+Enter para reportá-lo aos editores.
Table of Contents

5 Java gateway

Visão geral

O Java gateway do Zabbix pode ser instalado a partir do código-fonte ou de pacotes.

O suporte nativo para monitoramento de aplicações JMX existe na forma de um daemon Zabbix chamado "Zabbix Java gateway". O Zabbix Java gateway é um daemon escrito em Java. Para descobrir o valor de um contador JMX específico em um host, o servidor Zabbix consulta o Zabbix Java gateway, que utiliza a API de gerenciamento JMX para consultar remotamente a aplicação de interesse. A aplicação não precisa de nenhum software adicional instalado, apenas deve ser iniciada com a opção -Dcom.sun.management.jmxremote na linha de comando.

O Java gateway aceita conexões recebidas do servidor ou proxy Zabbix e só pode ser usado como um "proxy passivo". Ao contrário do proxy Zabbix, ele também pode ser usado a partir do proxy Zabbix (proxies Zabbix não podem ser encadeados). O acesso a cada Java gateway é configurado diretamente no arquivo de configuração do servidor ou proxy Zabbix, portanto, apenas um Java gateway pode ser configurado por servidor ou proxy Zabbix. Se um host tiver items do tipo JMX agent e items de outro tipo, apenas os items JMX agent serão encaminhados para o Java gateway para coleta.

Quando um item precisa ser atualizado pelo Java gateway, o Zabbix server ou proxy irá se conectar ao Java gateway e solicitar o valor, que o Java gateway por sua vez recupera e retorna ao server ou proxy. Assim, o Java gateway não armazena em cache nenhum valor.

O Zabbix server ou proxy possui um tipo específico de processo que se conecta ao Java gateway, controlado pela opção StartJavaPollers. Internamente, o Java gateway inicia múltiplas threads, controladas pela opção START_POLLERS opção. No lado do server, se uma conexão demorar mais do que Timeout segundos, ela será encerrada, mas o Java gateway ainda pode estar ocupado recuperando o valor do contador JMX. Para resolver isso, existe a opção TIMEOUT no Java gateway que permite definir o tempo limite para operações de rede JMX.

O servidor ou proxy Zabbix tentará agrupar as solicitações para um único destino JMX tanto quanto possível (afetado pelos intervalos dos items) e enviá-las para o Java gateway em uma única conexão para melhor desempenho.

Recomenda-se que StartJavaPollers seja menor ou igual a START_POLLERS, caso contrário, pode haver situações em que não há threads disponíveis no Java gateway para atender às solicitações recebidas; nesse caso, o Java gateway usa ThreadPoolExecutor.CallerRunsPolicy, o que significa que a thread principal atenderá à solicitação recebida e não aceitará novas solicitações temporariamente.

Se você estiver tentando monitorar aplicações Java baseadas em Wildfly com o Zabbix Java gateway, instale o jboss-client.jar mais recente disponível na página de download do Wildfly.