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
### BEGIN INIT INFO
# Provides: tomcat
# Required-Start: $local_fs $network
# Required-Stop: $local_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Tomcat
# Description: Tomcat
### END INIT INFO
# Author: Hipolito Jimenez <hipolito.jimenez@gmail.com>
#
# Please remove the "Author" lines above and replace them
# with your own name if you copy and modify this script.
# Do NOT "set -e"
do_start()
{
su - tomcat -c "export CATALINA_PID=/opt/tomcat/logs/tomcat.pid; export JAVA_HOME=/opt/java; /opt/tomcat/bin/startup.sh"
iptables -t nat --append PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
}
#
# Function that stops the daemon/service
#
do_stop()
{
su - tomcat -c "export CATALINA_PID=/opt/tomcat/logs/tomcat.pid; export JAVA_HOME=/opt/java; /opt/tomcat/bin/shutdown.sh"
iptables -t nat --flush
}
case "$1" in
start)
do_start
;;
stop)
do_stop
;;
*)
echo "Usage: tomcat {start|stop}" >&2
exit 3
;;
esac
Para monitorizar tomcat desde monit ahora debemos añadir la siguiente regla al fichero de configuración "/etc/monit/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