Como Monitorar e Gerenciar o Apache Tomcat
- Este guia mostra como adicionar uma instância do Apache Tomcat ao inventário do Verax NMS, configurar sensores JMX e HTTP, coletar contadores de desempenho e definir alertas.
- Inclui pré-requisitos, boas práticas de segurança, checklist de operação e um runbook de resolução de incidentes.
Introdução
Este documento explica, passo a passo, como monitorar o servidor de aplicações Apache Tomcat com a ferramenta Verax NMS (versão express). Ele cobre a inclusão da aplicação no inventário, a configuração de sensores (principalmente via JMX), contadores de desempenho, e políticas de alarmes e notificações.
Termos-chave: JMX — Java Management Extensions, sensor — monitor ativo que consulta serviços, MBean — recurso gerenciado exposto pelo Tomcat.
Variantes de intenção (SEO)
- Monitorar Apache Tomcat com Verax NMS
- Configurar sensores JMX para Tomcat
- Monitoramento de desempenho Tomcat
- Alertas e monitoramento Tomcat
Pré-requisitos
- Acesso administrativo ao Verax NMS.
- Acesso ao host que executa o Tomcat (para ajustar variáveis de inicialização).
- Porta JMX aberta entre o Tomcat e o servidor NMS (separar via firewall/ACLs conforme a política de rede).
- Credenciais para acesso JMX, se a autenticação estiver ativada.
Importante: em produção, ative autenticação e TLS/SSL para JMX. Desativar SSL e autenticação é aceitável apenas em ambientes de teste isolados.
1. Como adicionar o Apache Tomcat ao inventário de dispositivos
- Faça login no Verax NMS e selecione Home no menu principal.
- No painel esquerdo (árvore de aspectos), selecione o dispositivo que roda a instância do Tomcat.

- Na aba Summary, clique em Manage applications na seção de ações.

- Um diálogo pop-up será exibido.

- Escolha Add application no menu de contexto e clique em Go. Uma janela de diálogo com tipos de aplicação será mostrada.

Selecione Apache Tomcat em Application types.
Preencha os parâmetros específicos da aplicação:
- Instance name — nome descritivo para esta instância do Tomcat.
- Host — normalmente, o endereço IP ou nome do dispositivo onde o Tomcat está instalado.
- Port — porta do servidor de aplicação (por exemplo 8080).
- User / Password — credenciais se o monitor precisar autenticar-se (opcional).
- JMX Connection — URL de conexão JMX (por exemplo: service:jmx:rmi:///jndi/rmi://
: /jmxrmi). - JMX User / JMX Password — credenciais JMX se configuradas.
Nota: os parâmetros podem variar conforme o tipo de aplicação selecionado.
- Clique em Save changes.
- O sistema perguntará se deseja adicionar um conjunto padrão de sensores e contadores. Neste guia vamos adicionar sensores manualmente, portanto selecione No.
- A instância do Apache Tomcat agora aparece na árvore de aspectos, dentro da categoria Managed Applications do host.

2. Visão geral sobre como o Tomcat é monitorado
- Consultas ad-hoc: use Show advanced view na aba Summary para obter informações e estatísticas sob demanda.
- Contadores de desempenho: colete métricas via JMX counters ou templates pré-definidos baseados em JMX.
- Disponibilidade da aplicação: verifique com sensores JMX.
- Disponibilidade de aplicações web e experiência do usuário: use sensores HTTP (verifica response code e, opcionalmente, conteúdo via regex).
3. Configurar sensores para Apache Tomcat (JMX e HTTP)
O monitoramento do Tomcat no NMS usa o protocolo JMX. Configure o Tomcat para expor JMX na inicialização adicionando os parâmetros Java apropriados. Em ambientes Windows, um exemplo é:
set CATALINA_OPTS=-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=%my.jmx.port% \
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.authenticate=falseNota: adapte a sintaxe para sistemas *nix (utilize export CATALINA_OPTS=”…”). Consulte a documentação do Tomcat para versões e opções específicas: http://tomcat.apache.org/tomcat-6.0-doc/monitoring.html
Como funcionam os sensores
- Sensores são monitores ativos. Eles enviam consultas ao serviço configurado e esperam por uma resposta.
- Se a resposta estiver dentro do esperado, o serviço é considerado disponível.
- Se não houver resposta (timeout) ou a resposta estiver fora do esperado, o serviço é considerado indisponível.
Tipos de sensores disponíveis para Tomcat (padrão)
- JMX Operation — Invoca uma operação em um MBean e verifica o resultado.
- JMX Attribute — Lê um atributo de um MBean e verifica o valor.
- HTTP — Faz uma requisição HTTP/HTTPS e verifica o código de resposta e (opcional) o corpo via regex.
Como adicionar um sensor
No Home view, selecione o dispositivo na árvore de aspectos.
Vá para a aba Monitors e clique em Sensor list no canto superior direito para ver a lista de sensores.
Selecione Add no menu de ações global e clique Go. O assistente (wizard) será exibido.

- Escolha o tipo de sensor desejado e clique Next.

Preencha os parâmetros do sensor (por exemplo, MBean, atributo, operação, intervalo de verificação, timeout, expressão a ser verificada) e clique Finish.
Após adição, o sensor aparece na lista de sensores da aba Monitors.
4. Exemplos práticos de sensores JMX úteis
- Thread pool: leia o atributo que expõe número de threads ativas para detectar esgotamento do pool.
Exemplo de MBean típico: Catalina:type=ThreadPool,name=”http-nio-8080” (atributo: currentThreadsBusy). - Heap e GC: contadores de memória e tempo de GC expostos via java.lang:type=Memory e java.lang:type=GarbageCollector,name=*.
- Sessions ativas: para cada contexto web, MBean que expõe activeSessions.
Atenção: nomes de MBeans podem variar por versão e conector (bio, nio, apr). Consulte JConsole ou jmxterm para explorar MBeans disponíveis no seu Tomcat.
5. Configurar contadores de desempenho (metric collection)
- Defina o intervalo de coleta com base em custo × granularidade — 30s a 5m é comum.
- Colete métricas-chave: latency (ms), throughput (requests/s), error rate, active sessions, heap usage, GC pause time, thread pool busy.
- Use templates JMX pré-definidos quando disponíveis para acelerar a configuração.
Fato prático: métricas de latência e erros são as que mais correlacionam com experiência do usuário. Priorize essas.
6. Alarmes e políticas de notificação
- Crie condições claras: por exemplo, disponibilidade = false, ou activeSessions > limite por 5 minutos consecutivos.
- Evite alertas sensíveis a ruído: use janelas de persistência e múltiplas amostras antes de disparar um alarm.
- Configure notificações por canal (e-mail, SMS, webhook) e roteie conforme gravidade.
Sugestão de níveis de severidade (modelo qualitativo):
- Informativo: pico breve de latência.
- Aviso: latência consistente elevada ou aumento de erros.
- Crítico: indisponibilidade do serviço ou saturação do thread pool.
7. Boas práticas de segurança
- Nunca exponha JMX sem autenticação em redes públicas.
- Habilite SSL/TLS para conexões JMX quando possível.
- Use usuários JMX com privilégios mínimos necessários para leitura de métricas.
- Registre acessos e audite mudanças nas configurações de monitoramento.
Importante: desabilitar autenticação JMX é aceitável só em lab isolado. Em produção, configure autenticação e criptografia.
8. Solução de problemas e runbook de incidentes
Passos rápidos quando a aplicação aparenta indisponível:
- Verificar sensor: confirme se o sensor está com timeout ou erro.
- Teste local JMX: use jconsole/jmxterm do servidor NMS para tentar conectar ao endpoint JMX.
- Teste HTTP: curl -I http://
: / para verificar código HTTP. - Verifique logs do Tomcat (catalina.out, localhost.*.log).
- Recursos do host: verifique CPU, memória, I/O e espaço em disco.
- Se JMX responde mas a aplicação falha, reinicie o contexto ou o serviço após colher logs; siga política de manutenção da organização.
Criterios de escalonamento:
- Se o serviço não se recupera em 10 minutos após restart, escale para SRE.
- Se erros de GC recorrentes, abra ticket para análise de memória e ajuste de heap.
9. Checklist por função
- Operações (Ops): confirmar conectividade JMX, aplicar firewalls, definir backups de configuração.
- Desenvolvedores (Dev): expor MBeans relevantes e documentar MBean names.
- SRE/Plataforma: definir SLIs/SLOs, thresholds e playbooks de recuperação.
10. Alternativas e integração com outras ferramentas
- Prometheus + JMX Exporter: exporta métricas JMX para Prometheus e integra com Grafana.
- Elastic APM, New Relic, Datadog: soluções SaaS com integração de JVM/Tomcat.
- Ferramentas de logs (ELK/EFK): correlacione métricas com logs para diagnóstico.
Quando usar outra ferramenta: se você precisa de séries temporais longas, dashboards avançados ou alertas baseados em machine learning, considere integrar Prometheus/Grafana ou um APM comercial.
11. Quando este método falha (contraexemplos)
- Cenário: infraestrutura altamente distribuída com milhares de instâncias — polling JMX direto pode gerar overhead de rede e CPU.
- Cenário: políticas de segurança que impedem exposição JMX — neste caso, use um agente local (exporter) que empurra métricas para um coletor.
12. Mini-método recomendado (passos resumidos)
- Habilite JMX com autenticação e TLS.
- Adicione a instância do Tomcat ao Verax NMS.
- Configure sensores JMX e HTTP básicos (disponibilidade, threads, heap, sessions).
- Defina thresholds com janela de persistência.
- Teste o runbook de recuperação e documente.
13. Galeria de casos limite e compatibilidade
- Versões do Tomcat: nomes de MBeans e conectores podem variar entre Tomcat 6, 7, 8, 9 e 10. Sempre valide com jconsole.
- Ambientes conteinerizados: em Docker/Kubernetes, prefira exportadores que rodem como sidecar ou DaemonSet.
14. Glossário (1 linha cada)
- JMX: protocolo de gestão para JVM.
- MBean: recurso gerenciado exposto por uma aplicação Java.
- Sensor: monitor ativo que executa checagens periódicas.
Resumo final
Monitorar o Apache Tomcat com Verax NMS exige: expor JMX de forma segura, adicionar a instância ao inventário, criar sensores JMX/HTTP e configurar contadores e alarmes. Teste sempre thresholds e runbooks. Para ambientes em escala ou com restrições de segurança, avalie variantes com exporters ou APMs.
Notas finais: adapte os intervalos de coleta e limites de alerta ao perfil de tráfego da sua aplicação. Documente cada sensor e mantenha um histórico de mudanças para facilitar auditoria.
Materiais semelhantes
Instalar e usar Podman no Debian 11
Apt‑pinning no Debian: guia prático
Injete FSR 4 com OptiScaler em qualquer jogo
DansGuardian e Squid com NTLM no Debian Etch
Corrigir erro de instalação no Android