Monitorar um JBoss é muito mais do que verificar se as portas estão funcionando, ou se o serviço está em execução. Precisamos monitorar como está a performance do ambiente, e nesse ponto que o Zabbix com sua interface Java para consultas JMX entra “no jogo”.
Introdução
Este tutorial detalha o processo de monitoramento da interface JMX nativa do ZABBIX para monitorar o desempenho do servidor de aplicações JBoss.
Por padrão servidores de aplicações Java, como o JBoss, possibilita a monitoria através da utilização de recursos pela ferramenta JConsole, disponível no pacote JDK do Java, ou utilizar ferramentas de linha de comando como o Twiddle.
A utilização do JConsole é, até certo ponto, aceitável de utilizar, porém integrando este tipo de monitoramento com o ZABBIX, você poderá criar triggers e ações de acordo com os problemas que poderão surgir com seu servidor e/ou aplicativos e enviar alertas. Isso sem falar na ajuda dos gráficos, que facilita a analise do ambiente como um todo. No JConsole isso só é possível gravando os dados em um relatório, pois o monitoramento é feito sem armazenar os dados coletados, ou seja, fazer com o Zabbix é muito melhor.
Ambiente
O ambiente utilizado possui duas máquinas, ambas com a distribuição GNU/Linux Debian wheezy.
Uma das máquinas atua como servidor Zabbix, e nela foi instalada os seguintes pacotes:
- zabbix server 2.4.2
- zabbix-java-gateway 2.4.2
- zabbix-agent 2.4.2
- java 7
Na outra foi instalado o servidor de aplicações web:
- Jboss 4.2.3
- java 5.0_22
- zabbix-agent 2.4.2
Instalação
Nessa documentação não entraremos no detalhe da instalação do servidor Zabbix padrão, vamos apenas detalhar o processo do Zabbix Java Gateway.
O Zabbix Java Gateway é um software escrito em Java e seu funcionamento é bem simples.
Quando o servidor ZABBIX deseja obter o valor de um Item em um JBoss, ele faz a requisição ao Zabbix Java Gateway que fica responsável por interagir com a aplicação JBoss, através de uma API de gerenciamento JMX. Por esse motivo, só é possível fazer este tipo de monitoramento no modo passivo.
Para que o monitoramento JMX funcione, o serviço do Zabbix Java Gateway tem que estar em execução apenas no servidor Zabbix, ou seja, nada precisa ser instalado no servidor JBoss, além do zabbix-agent.
Para instalar o gateway java, execute o comando abaixo:
aptitude install zabbix-java-gateway
Execute o comando abaixo para verificar se o serviço está em execução:
systemctl status zabbix-java-gateway
Caso o serviço não esteja ativo, execute o seguinte comando:
systemctl start zabbix-java-gateway
O Zabbix Java Gateway estará escutando na porta 10052, sendo assim digite o comando abaixo para validar isso:
netstat -anp | grep 10052
O resultado deverá ser algo assim:
tcp 0 0 127.0.0.1:37732 127.0.0.1:10052 TIME_WAIT –
tcp6 0 0 :::10052 :::* LISTEN 4217/java
Configuração no servidor Zabbix
Acesse o arquivo /etc/zabbix/zabbix_server.conf e configure os seguintes parâmetros:
JavaGateway=127.0.0.1
JavaGatewayPort=10052
StartJavaPollers=5
Depois de gravar o arquivo, reinicie o serviço do ZABBIX server e java-gateway:
systemctl restart zabbix-server
systemctl restart zabbix-java-gateway
Configuração no servidor JBoss
Acesse o arquivo $PATH_JBOSS/bin/run.conf e acrescente as linhas abaixo no final do arquivo:
JAVA_OPTS=”$JAVA_OPTS -Dcom.sun.management.jmxremote”
JAVA_OPTS=”$JAVA_OPTS -Dcom.sun.management.jmxremote.port=12345″
JAVA_OPTS=”$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=false”
JAVA_OPTS=”$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=false”
Reinicie o serviço do JBoss para que as mudanças tenham efeito.
Configuração via interface web
Abra a configuração do host que deseja fazer o monitoramento do JBoss e insira o IP do servidor e a porta 12345, que foi configurada no arquivo run.conf do JBoss, conforme podemos ver na imagem abaixo:
A partir do ZABBIX 2.0 já tem um template pronto com alguns exemplos úteis para utilização, inclusive com gráficos. No menu Configuração >> Templates, procure por Template JMX Generic.
Aplique o template em seu host e aumente o nível de analise do seu ambiente.
Autoria
Esse artigo foi criado por Madson Araujo, em seu trabalho como Bolsista de Monitoramento da UFBA, revisado e transformado em artigo de blog por mim.
Fonte
https://www.zabbix.com/documentation
0sem comentários ainda