Interesado en saber cómo la gente suele comprobar si Tomcat se está ejecutando en un entorno Unix.
Verifico que el proceso se esté ejecutando usando
ps -ef | grep java
ps -ef | grep logging
o verifico que el número de puerto esté activo
netstat -a | grep 8080
¿Existe una forma mejor de comprobar que Tomcat se está ejecutando? Lo anterior parece ser una forma 'pirata' de comprobar que Tomcat se está ejecutando.
tasklist |find /I "Tomcat" || echo "Tomcat not running"
en un archivo bat, pero es posible que necesite buscar java, no Tomcat, dependiendo del nombre del proceso.ps aewwx | grep CATALINA_PID
y lo encontrará en la salida del proceso en ejecución, entre las otras variables de entorno. En Debian 8 este valor es: CATALINA_PID = / var / run / tomcat8.pidEn mi sistema Linux, inicio Tomcat con el script startup.sh. Para saber si está funcionando o no, utilizo
Si el resultado de salida contiene la ruta completa a mi carpeta tomcat, entonces se está ejecutando
fuente
intente esto en su lugar y como necesita privilegios de root use sudo
fuente
tomcat7: unrecognized service
netstat -lnp | grep 8080
probablemente sería la mejor manera, si conoce el puerto de escucha de Tomcat. Si quiere estar seguro de que es funcional, deberá establecer una conexión y enviar una solicitud HTTP y obtener una respuesta. Puede hacerlo mediante programación o con cualquier navegador web.fuente
Puede comprobar el estado de Tomcat de las siguientes formas:
Esto devolverá la ruta de tomcat si el tomcat se está ejecutando
donde 8080 es el puerto de tomcat
fuente
Si Tomcat está instalado localmente, escriba la siguiente URL en una ventana del navegador: {localhost: 8080}
Esto mostrará la página de inicio de Tomcat con el siguiente mensaje.
Si Tomcat está instalado en un servidor separado, puede escribir reemplazar localhost por un nombre de host válido o Iess donde está instalado Tomcat.
Lo anterior se aplica a una instalación estándar en la que tomcat usa el puerto predeterminado 8080
fuente
wget url
ocurl url
donde URL es una dirección URL del servidor Tomcat que debe estar disponible, por ejemplo:wget http://localhost:8080
. Luego verifique el código de salida, si es 0, tomcat está activo.fuente
Cree un script de Shell que verifique si tomcat está activo o inactivo y configure un cron para sh para que lo verifique cada pocos minutos, e inicie automáticamente Tomcat si está inactivo. Fragmento de código de muestra a continuación
fuente
Descubrí que Tomcat es bastante quisquilloso en el sentido de que un proceso en ejecución o un puerto abierto no significa necesariamente que esté manejando solicitudes. Por lo general, trato de tomar una página conocida y comparar su contenido con un valor esperado precalculado.
fuente
Siempre hago
Cuando veo allí
entonces sé que el servidor está activo.
fuente
¿Estás intentando configurar un sistema de alerta? Para un simple "latido", haga una solicitud HTTP al puerto Tomcat.
Para un monitoreo más elaborado, puede configurar JMX y / o SNMP para ver las estadísticas de JVM. Ejecutamos Nagios con el complemento SNMP (puentes a JMX) para verificar el uso de la memoria de Tomcat y solicitar el tamaño del grupo de subprocesos cada 10-15 minutos.
http://tomcat.apache.org/tomcat-6.0-doc/monitoring.html
Actualización (2012):
Hemos actualizado nuestros sistemas para que utilicen "monit" para comprobar el proceso de Tomcat. Me gusta mucho. Con muy poca configuración, verifica automáticamente que el servicio se esté ejecutando y se reinicia automáticamente si no lo está. (enviando una alerta por correo electrónico). Puede integrarse con los scripts /etc/init.d o verificar por nombre de proceso.
fuente
Dado que mis instancias de tomcat se denominan tomcat_. Por ejemplo. tomcat_8086, yo uso
#
Otro método es utilizar la utilidad nc
nc -l 8086
(número de puerto )O
ps aux | grep java
fuente
Prueba este comando
Devolverá el pid si Tomcat se está ejecutando.
fuente
Para comprobar el número de puerto
¿Hay algún tomcat que se esté ejecutando en el servidor?
fuente
Básicamente quieres probar
Evaluaré las primeras 2 opciones ya que la tercera ya ha sido suficientemente respondida.
Lo más fácil es simplemente desarrollar una página web en su aplicación web que reúna algunas métricas básicas y tener un cliente que pueda leer los resultados o detectar problemas de conectividad.
Para hacerlo, tiene varios problemas
fuente
Aquí están mis dos centavos.
Tengo varias instancias de tomcat ejecutándose en diferentes puertos para la configuración de mi clúster. Utilizo el siguiente comando para verificar cada proceso que se ejecuta en diferentes puertos.
Reemplace el número de puerto según sus necesidades.
Y para matar el uso del proceso
-k
en el comando anterior.ps -ef
forma o cualquier otro comando en el que llame a un comando y llame a otrogrep
encima.El comando equivalente en
BSD
los sistemas operativos esfstat
fuente
tomcat.sh
te ayuda a saber esto fácilmente.El documento de uso de tomcat.sh dice:
Entonces, ejecute el comando en su símbolo del sistema y verifique si hay pid:
$ tomcat.sh
fuente