Demostrador: ingesta, correlación y actuación sobre sistemas
Hoy queremos compartir un demostrador que hemos desarrollado sobre Onesait Platform, y que han servidor para enseñar a nuestros clientes algunas de las capacidades de la Plataforma.
En concreto, este demostrador tiene como objetivo 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 de grafos) con la información dada por los logs en bruto de estos sistemas.
Módulos utilizados de la Plataforma
Este demostrador implica el uso de determinados módulos, como son:
- 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: que nos va a permitir, 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 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: que será el encargado de toda la gestión de los flujos lógicos, alarmas y eventos, con algunas funciones como:
- La 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, etc.
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, podemos ver 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 es 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 cuenta con 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 la Plataforma.
Por ejemplo, los visores de logs se verían tal que así:
Los gestores de alarmas contarían con la posibilidad de ejecución de los correctores y también tienen visión topológica completa:
El Analizador de Trazas se visualizaría de la siguiente forma:
Conclusiones
Como hemos podido ver, generar todo un sistema de gestión de alarmas (u otros sistemas) es relativamente sencillo gracias al potencial de los diferentes módulos utilizados en este demostrador de Onesait Platform.
Esperamos que os haya parecido interesante, y si os surge alguna duda al respecto no dejéis de dejarnos un comentario. Además, si estáis interesados en que os enseñemos esta demostración en directo, no dudéis en contactar con nosotros para concertar una cita en nuestro correo de contacto contact@onesaitplatform.com.
Imagen de cabecera: Kari Shea en Unsplash