Monitorando o Tomcat com o Probe

Eu estava pensando em postar como monitorar aplicações remotas com o JConsole com o intuito de monitorar o Tomcat, porém, na empresa onde eu trabalho descobrimos que o Lambda Probe, além do gerenciamento do Tomcat, pode ter agregado muitas funções do JConsole. Desta forma, ao invés de postar sobre o JConsole, irei falar sobre o Probe.

O Tomcat vem com um gerenciador horrível: o “manager” do Tomcat é simplesmente impossível de se usar. E agora? Como faço para gerenciar o meu Tomcat de forma decente?

Seus problemas ACABARAM! Chegou o Lambda Probe!

O  Lambda Probe é uma ferramenta de monitoramento do Tomcat em tempo real, onde é possível visualizar várias informações importantes e tomar algumas ações, como por exemplo deploy, undeploy, redeploy, compilar jsps e servlets, “forçar” o garbage collector, etc.

Para instalar o mesmo, basta baixar o pacote WAR no site dos desenvolvedores (http://www.lambdaprobe.org) e fazer o deploy do mesmo no Tomcat (em $CATALINA_HOME/webapps/).

Além disso, é necessário ter pelo menos um usuário do tomcat com alguma das roles definidas para o probe:

manager — Tem acesso a todas as funcionalidades do Probe. (É a mesma role de manager do tomcat).
poweruser — Tem todas os privilégios do “manager”, exceto fazer deploy/undeploy de aplicações e monitorar via “Quick Check”
poweruserplus — Tem todos os privilégios do “poweruser” mais a possibilidade de restartar a Java Virtual Machine.
probeuser — O nível mais baixo de privilégio: apenas para visualização.

Exemplo de tomcat-users.xml:

<tomcat-users>
    <role rolename="manager"/>
    <role rolename="poweruser"/>
    <role rolename="poweruserplus"/>
    <role rolename="probeuser"/>
    <user name="tomcat" password="tomcat" roles="manager" />
</tomcat-users>


Outro ponto em questão é o monitoramento de memória: para isso, é necessário passar o seguinte parâmetro para a JVM na inicialização do Tomcat:

CATALINA_OPTS=“-Dcom.sun.management.jmxremote”
ou
JAVA_OPTS=“-Dcom.sun.management.jmxremote”

Isso pode ser feito inserindo diretamente no arquivo catalina.sh (ou catalina.bat para Windows) ou como variável de ambiente do Sistema Operacional.

Após isso, basta acessar o probe:

http://localhost:8080/probe

(Supondo que esteja rodando em localhost na porta 8080)

A tela inicial é a lista de aplicações no Tomcat. Nela, é possível visualizar o status, a quantidade de sessões ativas, a quantidade de atributos na sessão e no contexto, o uso do pool de conexões, reiniciar ou exluir aplicações, entre outros dados.

Tela Inicial do Probe

Tela Inicial do Probe

Nos outros itens do menu, é possível verificar todos os Data Sources (pool de conexões) cadastrados e a utilização dos mesmos, fazer o deploy de aplicações, visualizar Logs, Threads, informações do Sistema, Status da utilização de memória, etc.

Clicando no nome aplicação, é possível visualizar praticamente tudo sobre ela: ver com detalhes os atributos do contexto, as JSPs, o xml do contexto, web.xml, servlets mapeados, filtros, sessões ativas e etc. Clicando na sessão, é possível visualizar o IP que gerou a mesma, seus atributos e etc. Completamente do mal !!!!!!!!

Sumário da Aplicação

Sumário da Aplicação

Sessões Instanciadas

Sessões Instanciadas

Lista de JSPs

Lista de JSPs

Na aba Data Sources, é possível visualizar os Pools de conexões cadastrados, testá-los, verificar quantas conexões estão ativas, o consumo, quantas estão sendo utilizadas, etc.

Data Sources

Data Sources

Na aba status, é possível visualizar um resumo geral, dados do Sistema Operacional e da JVM, consumo de memória e etc! Desta forma, é possível gerenciar consumo de memória, Threads ativas e etc do Tomcat sem a utilização do JConsole.

Consumo de memória

Consumo de memória

Várias outras coisas podem ser feitas com o Lambda Probe. Vale a pena testar: você não vai se arrepender hehehe! Nunca vi ferramenta de gerenciamento do Tomcat melhor que essa!

Obs:  imagens retiradas direto do site do desenvolvedor: http://www.lambdaprobe.org

Abraço!

Deixe um Comentário

2 Comentários.

  1. owwwww.. massa.. não sabia que o Tomcat era assim tão ruim de usar… xD

  2. Amigo. estou iniciando em java e em tomcat7 rodo uma aplicação que fica um dia acessando no outro se eu nao der um stop e start ele nao abre uso o banco de dados mysql. gostaria de saber se o probe tem algum recurso que deixaria o sistema livre para ser acessado pelo seus usuarios sem ter que dar um stop e start todo dia. obrigado baixei o probe e vou usa-lo valeu.

Deixe um Comentário


NOTA - Você pode usar estesHTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>