Monitorización en el FlowEngine
Introducción
En este tutorial vamos a explicar cómo funciona la monitorización de dominios que se ha añadido al FlowEngine.
Se han añadido tres nuevas funcionalidades que te ayudarán a monitorizar y recuperar tus dominios en caso de error.
Endpoint de monitorización (healthcheck)
Se ha creado un nuevo endpoint de monitorización en cada dominio por el cual se puede consultar el estado del mismo. La llamada al endpoint se realiza así:
URL Interna (en el cluster CaaS): http://flowengineservice:5050/<domain_name>/health
URL Externa (fuera del cluster CaaS): http://<url_instalación>/nodered/<domain_name>/health
El servicio de healthcheck te mostrará en un json la siguiente información:
Uso de CPU.
Uso de memoria.
Información sobre el estado de los distintos sockets.
{
"cpu": 1.4831932773109242,
"memory": 117186560,
" sockets": [
"node 12884 rtvachet 11u IPv6 263833 0t0 TCP *:28001(LISTEN)",
"node 12884 rtvachet 12u IPv6 263870 0t0 TCP localhost:28001->localhost:58338 (ESTABLISHED)",
"node 12884rtvachet 13u IPv6 262758 0t0 TCP localhost:28001->localhost:59326 (ESTABLISHED)"
]
}
Auto-recuperación en caso de error
Se añade en el ControlPanel la posibilidad de activar una nueva propiedad que detecta cuando un dominio se ha caído y lo reinicia. Cuando eso sucede, el dominio se reinicia automáticamente.
Para activarlo, sigue los siguientes pasos:
Selecciona la opción "Mis Flujos Digitales" del menú DESARROLLO:
Selecciona la nueva opción “editar”
Aparecerá la nueva opción “Reiniciar ante fallos“:
Marcando esta casilla haremos que el dominio se vuelva a arrancar si en algún momento dejara de ejecutarse por cualquier fallo. El tiempo medio que pasa desde que el dominio falla hasta que se recupera es de unos 30 segundos.
Además se ha añadido un control que contabiliza la cantidad de reinicios dada una ventana temporal. Si la cantidad de reinicios de un dominio supera el umbral establecido para dicha ventana de tiempo, el dominio permanecerá parado y se desactivará el check automáticamente. El tamaño de la ventana y el umbral de reinicios se definen en las siguientes propiedades a nivel de plataforma:
onesaitplatform.flowengine.reboot.count.monitor.sec: Ventana en segundos en la que se cuenta la cantidad de reinicios. Por defecto 30 minutos.
onesaitplatform.flowengine.reboot.count.monitor.max: Cantidad máxima de reinicios permitidos en la ventana de tiempo definida en la propiedad anterior. Por defecto 10.
Control automático del dominio en base a la cantidad de sockets en un estado
En ciertas ocasiones un dominio está activo (en ejecución) pero es posible que su rendimiento no sea el deseado. Para poder monitorizar de manera más precisa los dominios se ha añadido una serie de controles sobre la cantidad de sockets y sus estados. En la misma pantalla de edición del dominio, puedes marcar la cantidad máxima de sockets en total o en algún estado en concreto.
Los filtros estarán activos sólo si marcas el checkbox asociado a cada estado. Si en algún momento la cantidad de sockets en el estado indicado supera el límite establecido, el dominio se parará automáticamente. Si además se ha activado el reinicio automático, el dominio se volverá a arrancar pasados entre 30 y 60 segundos. Este espacio de tiempo es necesario para el correcto cierre de los procesos.