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

4 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.

  3. Eu já tinha utilizado o Probe, porem com esse tópico ficou melhor a utilização.

    majinbatata, o tomcat é bom sim, bem robusto. Tem empresas gigantes utilizando o tomcat.

    Abços a todos.

  4. Boa tarde, trabalho em uma de Telecom e atualmente para Tomcat estou utilizando essa excelente ferramenta Lambda Probe, assim consigo pegar varias informações que preciso como Data Source, logs do servidor, Threads, informações do sistema. Porém tudo em real time, preciso saber se essa ferramenta me ofereçe a possibilidade de capturar o pool de conexão de um determinado DS e jogar e um log, para eu poder monitorar esses valores, se ultrapassar um valor estipulado minha outra ferramente “Nagios” vai ler esse log e disparar um alarme.

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=""> <s> <strike> <strong>