Como habilitar o JMX no Tomcat para monitorar e administrar

JMX (Java Management Extension) é uma tecnologia muito poderosa, que permite administrar, monitorar e configurar Tomcat MBeans.

Se você for um administrador do Tomcat, deve estar familiarizado com como habilitar o JMX no tomcat para monitorar Heap Memory, Threads, CPU Usage, Classes e configure vários MBeans.

Neste artigo, falarei sobre como habilitar e conectar ao Tomcat com o JConsole.

Presumo que você tenha o Tomcat instalado, caso contrário; você pode se referir Guia de instalação .

  • Vá para o caminho onde você instalou o Tomcat
  • Ir para a pasta bin
  • Crie um arquivo como “setenv.sh”
  • Modifique o arquivo usando o editor vi e adicione o seguinte
CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9000 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
  • Salve o arquivo com “:c
  • Altere a permissão do arquivo como executável
chmod 755 setenv.sh

Antes de iniciar o Tomcat para verificar o JMX, vamos dar uma olhada na configuração acima.

  1. Dcom.sun.management.jmxremote.port=9000 – você pode modificar o número da porta, se desejar.
  2. Dcom.sun.management.jmxremote.ssl=false – isso significa conectar sem SSL
  3. Dcom.sun.management.jmxremote.authenticate=false – isso significa que nenhuma autenticação é necessária quando você usa o cliente JMX para conectar-se à instância do Tomcat.

Vamos iniciar o tomcat por inicialização.sh Arquivo de script. Depois de iniciado, você pode verificar usando netstat ou comando ps –ef grep.

Para verificar usando netstat

netstat –anlp | grep 9000

(root@localhost ~)# netstat -anlp |grep 9000
tcp6       0     0 :::9000                 :::*                   LISTEN     9372/java
(root@localhost ~)#

Para verificar usando o comando ps

ps –ef |grep jmx

(root@localhost ~)# ps -ef|grep jmx
root       9372     1 0 21:30 pts/0   00:00:04 java -Djava.util.logging.config.file=/home/chandan/Downloads/apache-tomcat-8.0.28/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9000 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.endorsed.dirs=/home/chandan/Downloads/apache-tomcat-8.0.28/endorsed -classpath /home/chandan/Downloads/apache-tomcat-8.0.28/bin/bootstrap.jar:/home/chandan/Downloads/apache-tomcat-8.0.28/bin/tomcat-juli.jar -Dcatalina.base=/home/chandan/Downloads/apache-tomcat-8.0.28 -Dcatalina.home=/home/chandan/Downloads/apache-tomcat-8.0.28 -Djava.io.tmpdir=/home/chandan/Downloads/apache-tomcat-8.0.28/temp org.apache.catalina.startup.Bootstrap start
root       9816   9781 0 21:46 pts/0   00:00:00 grep --color=auto jmx
(root@localhost ~)#

Isso conclui que jmx é habilitado no Tomcat e é hora de conectar usando o cliente JMX.

Você pode usar qualquer cliente, no entanto, para mostrar que usarei jconsole que vem com java.

Conectar Tomcat JMX usando Jconsole

  • Vá para o caminho onde você tem jconsole

Dica: você pode usar o encontrar comando para pesquisar se você não tem certeza.

  • Executar jconsole
./jconsole

Isso exibirá o Console de gerenciamento e monitoramento Java.

  • Selecione “Processo Remoto”
  • Digite o host do servidor e os detalhes da porta

  • Clique em “Conectar”

Isso se conectará ao Tomcat e mostrará gráficos muito bons de uso de CPU, memória e thread. Isso se torna muito útil durante a solução de problemas.

visão geral do jconsole

Você também pode executar GC a partir do console.

  • Clique na guia Memory e você verá o botão “Perform GC”

jconsole-memory

Conforme mencionado no início do artigo, você também pode configurar MBeans para as classes.

Isso geralmente é usado se você precisar alterar o log ou parâmetros específicos em tempo de execução.

Então vá em frente e brinque com Jconsole e JMX. É uma ferramenta maravilhosa para solução de problemas e monitoramento.

Se você estiver interessado em aprender mais sobre o Tomcat, então confira este tutorial .

Artigos relacionados