Utilizar tresMonitor
es muy sencillo. Para una monitorización simple de un servidor
web, basta con editar el archivo monitor.xml, alterando los campos
relativos a la localización del servicio. Un posible fichero
sería este:
<?xml
version="1.0"?>
<monitorConfig>
<logPath>d:/monitor/log/</logPath>
<service name="MiServicio">
<frecuence>300000</frecuence>
<tries>3</tries>
<testActions>
<action class="org.tres.monitor.actions.HttpPing">
<parameter name="url" value="http://localhost:8080/index.jsp"/>
<parameter name="timeout" value="10000"/>
<parameter name="validHTTPCodes" value="200,202"/>
</action>
</testActions>
<successActions>
</successActions>
<failActions>
<action class="org.tres.monitor.actions.SendEmail">
<parameter name="from" value="monitor@dominio.com"/>
<parameter name="to" value="admin@dominio.com"/>
<parameter name="subject" value="Tomcat
se ha caído"/>
<parameter name="body" value="Se
intenta levantar..."/>
<parameter name="smtp" value="mail.correo.com"/>
</action>
<action class="org.tres.monitor.actions.RuntimeCommand">
<parameter name="command" value="/etc/init.d/tomcat
start"/>
</action>
</failActions>
<postRecoveryActions>
<action class="org.tres.monitor.actions.SendEmail">
<parameter name="from" value="monitor@dominio.com"/>
<parameter name="to" value="admin@dominio.com"/>
<parameter name="subject" value="Tomcat
vuelve a responder"/>
<parameter name="body" value="Duerme tranquilo :-P"/>
<parameter name="smtp" value="mail.correo.com"/>
</action>
</postRecoveryActions>
</service>
</monitorConfig>
|
Se han señalado en rojo las regiones que
habría que modificar. Hecho esto, arrancamos el servicio
ejecutando el script bin/tresMonitor.sh start, y ya está.
tresMonitorejecutará periódicamente las pruebas que
hayamos indicado en el fichero de configuración, según
la frecuencia establecida, y nos enviará un correo electrónico
cuando la prueba no sea superada, además de intentar levantar
el servidor. Podremos detener o reiniciar el servicio mediante el mismo script:
bin/tresMonitor.sh stop|restart.
Los servicios
La etiqueta <service> define un servicio
que queremos monitorizar. Para ese servicio definimos las acciones
de prueba, las de éxito (si se pasa la prueba correctamente)
y las de fracaso (si no se pasa la prueba). Además, podemos
definir cada cuánto tiempo (en milisegundos) queremos lanzar
las acciones de prueba, mediante la etiqueta <frecuence> y
el número de fallos que se permiten antes de lanzar las acciones
de fracaso, en la etiqueta <tries>.
Las acciones
Las etiquetas <action...> del fichero de
configuración definen las acciones que queremos realizar,
ya sea como parte de la prueba de que el servidor sigue en pié
como para levantarlo o informar al administrador. Las acciones predefinidas
son HttpPing, RuntimeCommand, SendEmail y TimeStampLog, que proporcionan
funcionalidades básicas pero muy útiles para la monitorización.
Si alguna vez has utilizado Ant, te sonará
este modelo, y habrás imaginado que es sencillo ampliar la
funcionalidad de tresMonitor definiendo nuevas
acciones. La clase a heredar es org.tres.monitor.actions.AbstractAction.
Échale un vistazo a los JavaDocs para hacerte una idea de
cómo está pensado.
|