Análisis de registro del servidor utilizando machine learning

10

Me asignaron esta tarea para analizar los registros del servidor de nuestra aplicación que contiene registros de excepciones, registros de eventos, registros de base de datos, etc. Soy nuevo en el aprendizaje automático, utilizamos Spark con búsqueda elástica y Sparks MLlib (o PredictionIO) .Un ejemplo de lo deseado el resultado sería poder predecir en función de los registros de excepciones recopilados para poder predecir qué usuario es más probable que cause la próxima excepción y en qué función (y un montón de otras cosas para realizar un seguimiento y mejorar la optimización de la aplicación).

He podido ingresar con éxito datos de ElasticSearch en spark y crear marcos de datos y mapear los datos necesarios. Lo que me gustaría saber es cómo abordo el aspecto de Machine Learning de mi implementación. He revisado artículos y documentos que hablan sobre el preprocesamiento de datos, la capacitación de los modelos de datos y la creación de etiquetas y luego la generación de predicciones.

Las preguntas que tengo son

  • ¿Cómo abordo la transformación de los datos de registro existentes en vectores numéricos que se pueden utilizar para formar conjuntos de datos a entrenar?

  • ¿Qué algoritmos utilizo para entrenar mi conjunto de datos?

Solo estoy buscando sugerencias sobre cómo abordar este problema.

Gracias.

elric
fuente
Si tuviera la capacidad predictiva de creer que cierto usuario tenía una alta probabilidad de una excepción, ¿qué haría? El objetivo es optimizar la aplicación. ¿Está tratando de refinar en qué errores deberían dedicar su tiempo los ingenieros en lugar de simplemente corregir errores conocidos en la aplicación? La ingeniería de características puede ser muy importante para esta tarea. Además, es posible que desee considerar la regresión logística que producirá un valor 0..1 que puede interpretarse como una probabilidad.
55
Creo que estás superando los objetivos. No trates a ML como una caja negra para hacer magia. Tiene que hacer las preguntas correctas (y tener los datos adecuados para eso) para obtener cualquier resultado.
HA SALIDO - Anony-Mousse
¿Se resolvió su problema para predecir qué usuario tiene más probabilidades de causar la próxima excepción y en qué función (y un montón de otras cosas para realizar un seguimiento y mejorar la optimización de la aplicación) ? En caso afirmativo, ¿puede compartir su enfoque de solución o alguien más puede compartir?
Ashish Tyagi

Respuestas:

12

No creo que sea necesario convertir las entradas de registro individuales en vectores para usarlas en un algoritmo. Supongo que lo que le interesa es una secuencia de entradas de registro, que representan una serie de eventos, ordenados en el tiempo, que juntos forman una serie de 'casos'. Aquí la relación entre una serie de entradas de registro recopiladas es importante.

Si este es el caso, es posible que desee considerar el uso de técnicas de minería de procesos . Esto le permite crear modelos de su proceso (el uso de su aplicación) y determinar patrones de pasos del proceso, junto con errores y pasos de reprocesamiento.

Hay un buen curso de introducción sobre Coursera, aquí . Incluso hay algunos paquetes comerciales desarrollados como 'disco' para ayudarlo con el análisis y la visualización.

Oliver
fuente