Demostrador ingesta, correlación y actuación sobre sistemas

Introducción

El objetivo de este demostrador es la detección, notificación y solución de problemas en múltiples sistemas remotos montados en una red topológica (construida en una entidad/ontología de grafos) con la información dada por los logs en bruto de estos sistemas.

Módulos de plataforma usados

En este demostrador, se implican varios elementos de plataforma como son:

  • El módulo Dataflow → con una gran carga lógica, será el encargado de varias tareas:

    • Realizar las cargas de logs de forma activa, normalizarlas y estandarizar una salida común de las mismas, con el objetivo de ser tratables de forma homogénea, independientemente del sistema origen.

    • Detectar problemas en los sistemas, dado el flujo de información (logs tratados) de los mismos. Con esta detección, se generarán alertas de un problema detectado.

    • Correlacionar el origen de información con el resto de sistemas a través de la red topológica.

    • Actuar sobre la propia red topológica con el objetivo de reflejar los cambios en la misma, a través de eventos de log.

  • Kafka sobre Onesait Platform→ nos permite, combinándolo con el Dataflow, la posibilidad de escalar las cargas y tratamientos paralelizables, de forma sencilla, además de ser la base de un sistema de cargas productivo y robusto.

  • Entidades/ontologías de grafos → con la capacidad de tener entidades sobre base de datos de grafos (Nebula Graph), se ha modelado un sistema topológico como una entidad más, teniendo las posibilidades de consulta (visualización de la red mediante un grafo) o escritura sobre esta red (carga y actualización en tiempo real de la red virtualizada).

 

  • FlowEngine → será el encargado de toda la gestión de los flujos lógicos, alarmas y eventos, con algunas funciones como:

    • Apertura y actualización de tickets en sistemas de terceros.

    • Lanzamiento de correcciones para los sistemas remotos.

 

  • Dashboard Engine/Proyectos Web → donde se montará la aplicación completa y basada en componentes reutilizables, tanto de visualización como de administración de alarmas, logs, visores topológicos, correctores, …

Arquitectura de flujos

La arquitectura de dataflows se puede ver en la siguiente imagen. Como se puede comprobar hay un tratamiento común de la información de alarmas que se apoya en la propia estandarización de datos brutos del sistema y en la capacidad de detección de eventos.

Los logs de los sistemas (el origen que se ve a la izquierda) pasan por diferentes flujos de información que estandarizan en primera instancia y aplican diferentes detectores de problemas. Por ejemplo, tenemos el siguiente flujo (consistente en dos dataflow comunicados vía Kafka) que, basándose en los ratios de logs, detecta problemas de exceso de carga en el sistema y genera alertas.

Centrándonos en el primero de ambos, vemos el tratamiento los logs mediante diferentes expresiones regulares que nos permiten extraer y estructurar el contenido en bruto.

Además podemos ver el propio detector de incidencias que genera alarmas que se centralizan en un tópico de alarmas destinado a las mismas.

Otro dataflow destacado en el de tratamiento de alarmas, en el que entre otras cosas se correlacionan las diferentes alarmas con la red topológica para poder extraer la máxima información del sistema.

Aplicación Web

Dentro de la aplicación web se tienen diferentes herramientas que posibilitan la administración y visualización completa de todos los elementos del sistema usando las herramientas de web project y los propios dashboards de plataforma.

Visores de logs:

Gestores de alarmas, con posibilidad de ejecución de los correctores y visión topológica completa:

Analizadores de trazas: