Guia de tecnologias

Como Monitorar e Gerenciar o Apache Tomcat

8 min read Monitoramento Atualizado 19 Sep 2025
Monitorar Apache Tomcat com Verax NMS
Monitorar Apache Tomcat com Verax NMS

  • 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

  1. Faça login no Verax NMS e selecione Home no menu principal.
  2. No painel esquerdo (árvore de aspectos), selecione o dispositivo que roda a instância do Tomcat.

Árvore de aspectos mostrando dispositivos e instâncias

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

Botão para adicionar aplicações a partir da aba Summary

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

Diálogo de ações na interface do Verax NMS

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

Lista de tipos de aplicação para adicionar

  1. Selecione Apache Tomcat em Application types.

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

  1. Clique em Save changes.
  2. O sistema perguntará se deseja adicionar um conjunto padrão de sensores e contadores. Neste guia vamos adicionar sensores manualmente, portanto selecione No.
  3. A instância do Apache Tomcat agora aparece na árvore de aspectos, dentro da categoria Managed Applications do host.

Instância do Tomcat visível na árvore de aspectos do Verax NMS

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=false

Nota: 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

  1. No Home view, selecione o dispositivo na árvore de aspectos.

  2. Vá para a aba Monitors e clique em Sensor list no canto superior direito para ver a lista de sensores.

  3. Selecione Add no menu de ações global e clique Go. O assistente (wizard) será exibido.

Assistente para adicionar sensores

  1. Escolha o tipo de sensor desejado e clique Next.

Seleção do tipo de sensor (JMX, HTTP, etc.)

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

  2. 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:

  1. Verificar sensor: confirme se o sensor está com timeout ou erro.
  2. Teste local JMX: use jconsole/jmxterm do servidor NMS para tentar conectar ao endpoint JMX.
  3. Teste HTTP: curl -I http://:/ para verificar código HTTP.
  4. Verifique logs do Tomcat (catalina.out, localhost.*.log).
  5. Recursos do host: verifique CPU, memória, I/O e espaço em disco.
  6. 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)

  1. Habilite JMX com autenticação e TLS.
  2. Adicione a instância do Tomcat ao Verax NMS.
  3. Configure sensores JMX e HTTP básicos (disponibilidade, threads, heap, sessions).
  4. Defina thresholds com janela de persistência.
  5. 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.

Autor
Edição

Materiais semelhantes

Instalar e usar Podman no Debian 11
Containers

Instalar e usar Podman no Debian 11

Apt‑pinning no Debian: guia prático
Administração de sistemas

Apt‑pinning no Debian: guia prático

Injete FSR 4 com OptiScaler em qualquer jogo
Tecnologia

Injete FSR 4 com OptiScaler em qualquer jogo

DansGuardian e Squid com NTLM no Debian Etch
Infraestrutura

DansGuardian e Squid com NTLM no Debian Etch

Corrigir erro de instalação no Android
Android

Corrigir erro de instalação no Android

KNetAttach: Pastas de Rede remota no KDE
KDE

KNetAttach: Pastas de Rede remota no KDE