Podemos comprobar si están siendo ejecutados, si consumen demasiada CPU ó memoria, si están escuchando en el puerto TCP/IP adecuado, etc.
Para hacer esto lo más simple es usar el PID del proceso.
Para tomcat podemos definir el fichero PID definiendo la variable de entorno CATALINA_PID al nombre de un fichero que contendrá el PID de tomcat.
El script de arranque de tomcat "/etc/init.d/tomcat" quedará entonces:
#!/bin/sh
#
# chkconfig: 2345 20 80
# description: Tomcat
#
start()
{
su - tomcat -c "export CATALINA_PID=/opt/tomcat/logs/tomcat.pid;/opt/tomcat/bin/startup.sh"
iptables -t nat --append PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
}
stop()
{
su - tomcat -c "export CATALINA_PID=/opt/tomcat/logs/tomcat.pid;/opt/tomcat/bin/shutdown.sh"
iptables -t nat --flush
}
case "$1" in
start)
start
;;
stop)
stop
;;
*)
echo $"Usage: $0 {start|stop}"
exit 1
esac
#
# chkconfig: 2345 20 80
# description: Tomcat
#
start()
{
su - tomcat -c "export CATALINA_PID=/opt/tomcat/logs/tomcat.pid;/opt/tomcat/bin/startup.sh"
iptables -t nat --append PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
}
stop()
{
su - tomcat -c "export CATALINA_PID=/opt/tomcat/logs/tomcat.pid;/opt/tomcat/bin/shutdown.sh"
iptables -t nat --flush
}
case "$1" in
start)
start
;;
stop)
stop
;;
*)
echo $"Usage: $0 {start|stop}"
exit 1
esac
Para monitorizar tomcat desde monit ahora debemos añadir la siguiente regla al fichero de configuración "/opt/monit/conf/monitrc":
check process tomcat with pidfile /opt/tomcat/logs/tomcat.pid
if failed port 8080 then alert
Esta regla nos alertará por email si tomcat no está corriendo (si el PID del fichero no está en memoria) y si ese proceso no tiene abierto el puerto 8080.
No hay comentarios:
Publicar un comentario