Utilizando o JConsole com o GlassFish

De Wiki Integrator do Brasil
Ir para: navegação, pesquisa
Banner-wiki-promocoes.gif

Índice

Antes de Começar

Este assunto é de nível intermediário e depende do conhecimento e configuração feitos pelo usuário em sua máquina da JDK. O exemplo se refere ao uso do JConsole ao acesso do GlassFish remotamente, ou seja, o que está hospedado na Integrator. É importante dizer que o JConsole, assim como particularidades de utilização com o GlassFish fogem ao suporte de hospedagem da Integrator. Perguntas pertinentes ao programa JConsole poderão não ser respondidas.

Legenda

$JAVA_HOME - local da JDK configurada em sua máquina
IP_REMOTO - o ip informado na aba Acesso do painel Java da Integrator
PORTA_JMX - a porta informada no Admin do GlassFish
SUASENHA - a senha que escreveu

Local onde o JConsole está

O JConsole é disponibilizado com a JDK completa, ou seja, ele fica em:

$JAVA_HOME/bin/jconsole

Iniciando o JConsole

No Terminal ou Prompt de Comando, o JConsole deve ser iniciado com o seguinte comando:

$JAVA_HOME/bin/jconsole 

Criando os arquivos jmxremote para uso no GlassFish

Usando o Gerenciador de arquivos do cPanel vá até o diretório appservers/glassfish4/glassfish/domains/domain1/config/.
Crie os seguintes arquivos:

  • jmxremote.password
  • jmxremote.access

Editando os arquivos jmxremote para uso no GlassFish

Usando o [Gerenciador de arquivos] do cPanel, edite os arquivos jmxremote.password para jmxremote.access para o seguinte conteúdo:

1. jmxremote.access - Adicione no arquivo:

jmxuser	readwrite \
              create javax.management.monitor.*,javax.management.timer.* \
              unregister

2. jmxremote.password - Adicione no arquivo:

jmxuser SUASENHA

Alterando a permissão do arquivo jmxremote.password para uso no GlassFish

Usando o Gerenciador de arquivos do cPanel, selecione o arquivo jmxremote.password, clique em Permissões, e deixe com a permissão 600 somente.

Alt text

Visualizando a porta JMX do GlassFish

A porta JMX do GlassFish é alterada, do seu padrão, pelo painel da Java da Integrator na instalação do servidor Java. Para visualizar a porta JMX no GlassFish se faz necessário acessar o Admin.
Dentro do Admin, vá em Configurations >> server-config >> Admin Service. Anote a porta informada no campo Port.

Alt text

Habilitando o acesso JMX remoto no GlassFish

  1. No Admin do GlassFish, vá em Configurations >> server-config >> JVM Settings.
  2. Clique na aba JVM Options.
  3. Clique no botão JVM Option para cada um dos parâmetros a seguir(não coloque todos em uma só option):
-Djava.rmi.server.hostname=IP_REMOTO 
-Dcom.sun.management.jmxremote.port=PORTA_JMX
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=true
-Dcom.sun.management.jmxremote.password.file=${com.sun.aas.instanceRoot}/config/jmxremote.password
-Dcom.sun.management.jmxremote.access.file=${com.sun.aas.instanceRoot}/config/jmxremote.access
Alt text

Reiniciando o GlassFish

Vá no painel Integrator Java EE e clique em Stop e depois Start.


Configurando o JConsole

No JConsole, faça: 1. Marque a opção Remote Process.
2. Digite no campo:

service:jmx:rmi:///jndi/rmi://IP_REMOTO:PORTA_JMX/jmxrmi

Digamos que o IP seja 192.175.108.234 e a porta 6037, teríamos:

service:jmx:rmi:///jndi/rmi://192.175.108.234:6037/jmxrmi


4. Digite o usuário jmxuser em Username e sua respectiva senha em Password definidos em jmxremote.access e jmxremote.password.
5. Clique em Connect.
6. Como não está usando uma conexão segura, aparecerá uma mensagem de diálogo Secure connection failed. Retry insecurely?. Confirme no botão Insecure connection.

7. O que verá é o JConsole acessando remotamente seu GlassFish para que possa realizar suas análises.

Alt text


Referências

https://docs.oracle.com/javase/6/docs/technotes/guides/management/jconsole.html
https://blogs.oracle.com/quinn/jmx-monitoring-of-glassfish-servers