Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

Objetivo

En esta release se ha añadido la posibilidad de desplegar un nuevo componente incluido una nueva funcionalidad para la monitorización de recursos del Flow Engine.

Para facilitar la monitorización de consumo de recursos por parte de cada dominio (instancia de NodeRED) de. Flow Engine, hemos se han creado una serie de elementos de plataforma que nos permiten analizar los propios logs de dicho módulo y visualizar la información de consumo de recursos y ejecución de procesos de manera sencilla mediante un dashboard.

¿Cómo funciona?

Para poder interpretar los logs, filtrar la información relevante y plasmarla en un dashboard se han creado una serie de elementos con la siguiente funcionalidad:estos elementos:

Entidades y Digital Client

Se crean dos 2 entidades:

  • flowEngineResourceConsumption: Para el uso de recursos por dominio. Dicha entidad almacenará el consumo de CPU, memoria RAM, número de conexiones abiertas y estado del mismo (activo o no), así como el timestamp. Estas medidas se generan cada 30 segundos.

  • flowEngineDomainLogs: Almacenará el resto de trazas de log por dominio, teniendo como campos:

    • timestamp/timestampISO: millis e interpretación texto en ISO 8601 del momento de generación del registro

    • level/leve_name: Nivel de traza e interpretación a texto (INFO, WARN, ERROR, …)

    • domain: Dominio del Flow Engine (instancia de nodeRED)

    • id: Identificador del nodo que genera la traza

    • type: Tipo de nodo (nombre del tipo nodeRED) que genera la traza

    • msg: Objeto con el contenido del mensaje. En la mayoría de casos este objeto contendrá el ID del mensaje.

    • z: Identificador del flujo (pestaña nodeRED) donde se genera la traza.

Estas entidades estarán disponibles Se crea para su explotación

También se ha creado un Cliente Digital para acceder a dichas entidades: FlowEngine-logging-client

DataFlow

Se crea un Dataflow para leer los logs, procesarlos y realizar la carga de sobre las entidades anteriores: FlowEngineLogProcessor

...

Dashboard

Para poder atacar estos datos, se han creado también una serie de Datasources, Gadgets y un Dashboard. La lista de elementos es la siguiente:

...

En dicho dashboard tenemos dos pestañas:

  • Resource consumption: Para visualizar el consumo por dominio, filtrando por nombre de dominio y rango temporal.

  • Domain Logs: Para visualizar los logs del dominio directamente, permitiendo el mismo filtrado por dominio y rango de fechas/hora

¿Cómo desplegarlo?

Para que no se tengan que crear todos estos elementos a mano, hemos añadido al módulo configInit un proceso de generación automática de los mismos.

Por defecto estará activado, pero pueden crearse lanzando el módulo con la propiedad “onesaitplatformonesaitplatform.init.flowEngineMonitor“ flowEngineMonitor“ o la variable de entorno “LOADFLOWENGINEMONITOR“ activada a true.

Esto creará todos los elementos ya descritos. Lo único necesario para que el Dataflow pueda acceder a los logs es mapear un volumen al módulo Streamsets/Dataflow, apuntando con el directorio local “/var/log/platform-logs” logsal volumen donde el Flow Engine está generando los logs.