2012-08-26 15 views
14

Recientemente obtuve acceso a una gran cantidad de datos de registro del servidor (en el nuevo trabajo). Tengo cierta experiencia en aprendizaje automático de la universidad. Los datos de los registros incluyen registros del servidor, registros de acceso a la base de datos, etc. Me preguntaba qué tipo de aprendizaje se puede hacer a partir de dichos datos.Machine Learning en los datos de registro del servidor

Una pequeña cosa que intenté fue predecir el número de solicitudes en una determinada hora del día en función de los datos de la semana pasada, lo que parecía correcto, pero esto es algo trivial. Entonces,

  • ¿Qué tipo de aprendizaje se puede hacer con estos datos?
    • ¿Puede predecir la probabilidad de que un IP haga clic en los anuncios no deseados (sí, la compañía se dedica a eso) en función de algún patrón de uso de spammers anteriores?
    • Puede estar prediciendo a qué hora puede dispararse el tráfico.
  • ¿Existen herramientas/proyectos existentes que aprovechen específicamente?
  • ¿Algún recurso/documento interesante que habla de cosas similares?
  • Además, la actividad de proceso relacionada con los datos en un tiempo determinado en el servidor. ¿Puede ser útil para aprender?

Respuesta

25

Tenga una mirada en Wei Xu et al (2010) Experience on Mining Google's Production Console Logs y el trabajo que citan. En pocas palabras:

  1. plantillas Extracto de registro (por ejemplo, "escribir en el archivo% s") a partir del código fuente para extraer los identificadores de los registros de (la cosa en el registro correspondiente a% s es un identificador). Usan cierta heurística para distinguir los identificadores de los no identificadores (por ejemplo, el tiempo).
  2. Utilice las relaciones entre los valores en lugar del número sin procesar (por ejemplo, la proporción de fallas y todas las confirmaciones)
  3. Utilice el análisis de componentes principales para descubrir anomalías en los vectores de dichas funciones.

Probablemente no pueda hacer 1. Pero tal vez pueda extraer las variables escribiendo su propio "analizador".

También ha habido un DARPA challenge para descubrir un ataque en dicha información, pero eso fue hace casi 15 años.

Existen algunas herramientas como splunk, pero aparte de una buena interfaz, no ofrecen mucho más que simple búsqueda y filtrado. ACTUALIZACIÓN: hay un complemento de detección de anomalías por prelert.

No tengo conocimiento de mucho más. Por favor, avíseme si encuentra algo más.

Así que lo que haría:

  1. extraer características/variables de los registros de

    Es probable que no tiene acceso al código fuente que genera los mensajes como Xu tenía, pero supongo que una gran parte de los registros podría estar cubierta por una pequeña cantidad de patrones (por ejemplo, todos los registros de firewall tendrán el mismo patrón). Puede escribir un analizador de expresiones regulares que extraiga funciones de esos registros (por ejemplo, se rechazó una conexión en determinado momento).

  2. Pruebe la detección de anomalías (PCA, o simplemente la desviación de la media en ellos individualmente) y la predicción de ellos.

+0

gracias! le echaré un vistazo – swair

Cuestiones relacionadas