Interessado em saber como as pessoas costumam verificar se o Tomcat está rodando em um ambiente Unix.
Eu verifico se o processo está sendo executado usando
ps -ef | grep java
ps -ef | grep logging
ou eu verifico se o número da porta está ativo
netstat -a | grep 8080
existe uma maneira melhor de verificar se o Tomcat está em execução? O que foi dito acima parece ser uma maneira 'hacky' de verificar se o Tomcat está em execução.
tasklist |find /I "Tomcat" || echo "Tomcat not running"
em um arquivo bat, mas pode precisar encontrar java, não Tomcat, dependendo de qual é o nome do processo.ps aewwx | grep CATALINA_PID
e você o encontrará na saída do processo em execução, entre as outras variáveis de ambiente. No Debian 8, este valor é: CATALINA_PID = / var / run / tomcat8.pidNo meu sistema Linux, eu inicio o Tomcat com o script startup.sh. Para saber se ele está funcionando ou não, eu uso
Se o resultado da saída contiver todo o caminho para minha pasta tomcat, ele está sendo executado
fonte
tente fazer isso e porque precisa de privilégios de root, use sudo
fonte
tomcat7: unrecognized service
netstat -lnp | grep 8080
provavelmente seria a melhor maneira, se você conhece a porta de escuta do Tomcat. Se você quiser ter certeza de que está funcionando, terá que estabelecer uma conexão e enviar uma solicitação HTTP e obter uma resposta. Você pode fazer isso programaticamente ou usando qualquer navegador da web.fonte
Você pode verificar o status do tomcat das seguintes maneiras:
Isso retornará o caminho do tomcat se o tomcat estiver em execução
onde 8080 é a porta do tomcat
fonte
Se o tomcat estiver instalado localmente, digite o seguinte url em uma janela do navegador: {localhost: 8080}
Isso exibirá a página inicial do Tomcat com a seguinte mensagem.
Se o tomcat estiver instalado em um servidor separado, você pode digitar replace localhost por um nome de host válido ou Iess onde o tomcat está instalado.
O acima se aplica a uma instalação padrão em que o tomcat usa a porta padrão 8080
fonte
wget url
oucurl url
onde url é um URL do servidor tomcat que devem estar disponíveis, por exemplo:wget http://localhost:8080
. Em seguida, verifique o código de saída, se for 0 - o tomcat está ativo.fonte
Crie um script Shell que verifica se o tomcat está ativo ou inativo e defina um cron para sh para fazê-lo verificar a cada poucos minutos e iniciar automaticamente o tomcat se estiver inativo. Snippet de código de amostra abaixo
fonte
Eu descobri que o Tomcat é bastante meticuloso no sentido de que um processo em execução ou uma porta aberta não significa necessariamente que ele está lidando com solicitações. Normalmente tento pegar uma página conhecida e comparar seu conteúdo com um valor esperado pré-calculado.
fonte
eu sempre faço
Quando eu vejo lá
então eu sei que o servidor está funcionando.
fonte
Você está tentando configurar um sistema de alerta? Para uma "pulsação" simples, faça uma solicitação HTTP para a porta Tomcat.
Para um monitoramento mais elaborado, você pode configurar JMX e / ou SNMP para visualizar as estatísticas de JVM. Executamos o Nagios com o plugin SNMP (pontes para JMX) para verificar o uso de memória do Tomcat e solicitar o tamanho do pool de threads a cada 10-15 minutos.
http://tomcat.apache.org/tomcat-6.0-doc/monitoring.html
Atualização (2012):
Atualizamos nossos sistemas para usar "monit" para verificar o processo do tomcat. Eu realmente gosto. Com muito pouca configuração, verifica automaticamente se o serviço está em execução e reinicia automaticamente se não estiver. (enviando um alerta por email). Ele pode se integrar com os scripts /etc/init.d ou verificar por nome de processo.
fonte
Já que minhas instâncias de tomcat são nomeadas como tomcat_. Por exemplo. tomcat_8086, eu uso
#
Outro método é usar o utilitário nc
nc -l 8086
(número da porta )Ou
ps aux | grep java
fonte
Tente este comando
Ele retornará o pid se o tomcat estiver em execução.
fonte
Para verificar o número da porta
Algum tomcat está rodando no servidor.
fonte
Basicamente, você deseja testar
Vou avaliar as 2 primeiras opções, pois a 3ª já foi suficientemente respondida.
mais fácil é desenvolver uma página da web em seu WebApp que reúna algumas métricas básicas e ter um cliente que possa ler os resultados ou detectar problemas de conectividade.
Para fazer isso, você tem vários problemas
fonte
Aqui estão meus dois centavos.
Tenho várias instâncias do tomcat em execução em portas diferentes para a configuração do meu cluster. Eu uso o seguinte comando para verificar cada processo em execução em portas diferentes.
Substitua o número da porta conforme sua necessidade.
E para matar o processo use
-k
o comando acima.ps -ef
maneira ou qualquer outro comando onde você chama um comando e chama outrogrep
por cima dele.O comando equivalente em
BSD
sistemas operacionais éfstat
fonte
tomcat.sh
ajuda você a saber isso facilmente.O documento de uso de tomcat.sh diz:
Portanto, execute o comando em seu prompt de comando e verifique se há pid:
$ tomcat.sh
fonte