Revolution

(Team Loggers) Detección de anomalías en los logs de plataforma

Dentro de la iniciativa Onesait Platform Revolution el equipo Stranger Team, compuesto por Adrián, Visquel y Juan y mentorizado por Irene, se decantó por la detección de anomalías en los logs de plataforma.

El reto:

Consiste en la detección de anomalías de logs, analizando la volumetría de eventos y la sintaxis de los mismos. Con ello se puede entender qué está ocurriendo en el entorno a través de los logs, de forma rápida y automática. En general, encontrar los eventos anómalos que contienen los logs se hace complicado, por lo que surge la necesidad de crear un servicio que se encargue de filtrar aquellos eventos que son realmente anómalos para que un analista, de un vistazo, sepa lo que está ocurriendo.

Se podría utilizar un método tradicional en el que es necesario conocer cómo es la sintaxis de aquellos eventos más anómalos, pero se ha optado por técnicas de machine learning e inteligencia artificial no supervisadas que facilitan todo el proceso. Aparte de encontrar anomalías según la sintaxis, se buscan anomalías que tienen que ver con la volumetría por severidad y módulo según su distribución en el tiempo. Además, se disponibiliza un apartado para aquellos eventos que tengan severidad igual a ERROR.

Notebooks:

  • Loggers_parser: hace una primera exploración del entorno, es decir, recoge los logs disponibles, analiza volumetrías y crea modelos.
  • Loggers_quantile: crea el modelo para la detección de anomalías según la volumetría en base a datos estadísticos de severidad y hora.
  • Loggers_realtime: ejecución a tiempo real. Contiene una función que se encarga de monitorizar los logs, ir leyendo las líneas que se van agregando y seguir la rotación de los mismos. Contiene también las funciones para detectar anomalías por volumetría y por sintaxis. A parte, se encarga de filtrar por severidad ERROR.

– Para la detección de anomalías según su sintaxis, se utiliza un Autoencoder, que es una red neuronal artificial.

– Para la deteción según la volumetría, se utiliza un algoritmo de machine learning no supervisado basado en ventanas de tiempo deslizantes para detectar si hay demasiado volumen de un tipo de severidad en un momento concreto.

Ontologías:

  • loggers_severity: almacena datos sobre la volumetría de los eventos.
  • loggers_anomalies: almacena las anomalías encontradas.
  • loggers_errors: almacena los eventos con severidad de Error.

Dashboard: Análisis de volumetrías

Componentes de la plataforma usados:

  • Notebooks: se utiliza para el desarrollo y la ejecución de los algoritmos.
  • Dashboards: se utiliza para representar los datos almacenados en las ontologías.
  • Semantic Models: se utiliza para almacenar los resultados de los algoritmos.
  • Digital Brokers: se utiliza para realizar las consultas e inserciones en ontologías desde los notebooks.

Lo que han conseguido:

  • Repositorio GitHub: Dónde se puede encontrar el código del proyecto web, el esquema json de las ontologías y los notebooks exportados en json del panel de control.
  • Proyecto Web:

https://lab.onesaitplatform.com/web/teamLoggers/index.html

  • Notebooks:

Loggers_parser: https://lab.onesaitplatform.com/controlpanel/notebooks/app/#/notebook/2ENR1CEQX

Loggers_quantile: https://lab.onesaitplatform.com/controlpanel/notebooks/app/#/notebook/2ESD7M8UU

Loggers_realtime: https://lab.onesaitplatform.com/controlpanel/notebooks/app/#/notebook/2EQGAZ6US

✍🏻 Author(s)

Deja una respuesta