¿Alguien sabe de una herramienta para detectar e informar sobre patrones repetitivos en un archivo de registro? [cerrado]


12

Necesito monitorear algunos archivos de registro grandes y ruidosos (500 m / día) desde una aplicación Java (log4j). En este momento miro manualmente los archivos, grep para "ERROR" y así sucesivamente. Sin embargo, debería ser posible que una herramienta detecte patrones repetitivos en el archivo, los cuente y proporcione detalles para las entradas individuales. Alguien sabe de tal herramienta? Una interfaz de usuario basada en texto o web sería buena.


1
Para mí esta pregunta absolutamente grita perl.
John Gardeniers

Hmm, parece que tendré que escribir un script bash con muchos greps. Tenía la esperanza de que algo descubriera los patrones automáticamente.
David Tinker

En serio, esto es exactamente para lo que se creó Perl. Puede escribir un script de autoaprendizaje para esos patrones, aunque eso obviamente está fuera de alcance aquí.
John Gardeniers

stackoverflow.com/questions/2590251/… tiene una solución llamada Chainsaw.
John aka hot2use

datadoghq.com/blog/log-patterns <- muy recomendable, pero aunque no es caro, tampoco es súper barato.
neokyle

Respuestas:


3

He oído hablar de personas que aplican filtros bayesianos en archivos de registro para detectar cosas interesantes versus entradas de registro de rutina. Utilizaron filtros de correo no deseado, donde las entradas poco interesantes de rutina se consideraron "buenas", mientras que las inusuales se consideraron "correo no deseado" y usaron ese color que pudieron cambiar.

A mí me suena mucho a cosas de aprendizaje automático, pero, de nuevo, no lo he visto en acción, solo he oído hablar de él en las cervezas.


Esto me parece perfectamente razonable, e incluso podría tener suposiciones previas muy fuertes (en el sentido bayesiano) sobre ciertas palabras que siempre aparecen en los registros del servidor.
DrewConway

Sí, esto haría el trabajo. Alguien sabe una implementación que podría entrenar?
David Tinker

Uno podría comenzar con CRM114 , supongo. O espere hasta que Drew Conway publique su Machine Learning for Hackers . Todavía estoy trabajando para encontrar la referencia original a lo que propuse.
adamo

¡Sí! Lo leí en 2005 en este hilo de miembros sabios . El autor del correo electrónico menciona spamprobe .
adamo

6

Splunk hace maravillas para este tipo de cosas. Lo uso internamente para recopilar todos los registros y realizar búsquedas rápidas a través de su excelente interfaz basada en navegador.


Por desgracia, es probable que necesite la versión no libre y es un poco caro
David Tinker

3

syslog-ng tiene una característica llamada patterndb. Puede crear patrones y hacer coincidir las entradas de registro con ellos en tiempo real y luego enviar esas entradas a archivos de registro separados.


2

Mientras miraba syslog-ng y patterndb (+1 a esa respuesta, arriba), encontré una herramienta basada en la web llamada ELSA: http://code.google.com/p/enterprise-log-search-and-archive/ . Es F / OSS en perl, con una interfaz web, y se supone que es realmente rápido.

Todavía no lo he probado, pero una vez que termine de filtrar usando patterndb, intentaré ELSA.


1

Prueba petit .
No estoy seguro de si funcionará con el formato log4j, pero es posible que pueda escribir un filtro personalizado para eso.
Petit no tiene interfaz web, muestra gráficos en su shell (ASCII art ftw!).
Es muy útil ver rápidamente los mensajes que se repiten y averiguar cuándo ocurrieron o comenzaron a suceder con más frecuencia.



0

Glogg es un muy buen explorador de registros, ya que tiene la posibilidad de crear una base de filtro en una cadena y una línea de color o recuperar todas las ocurrencias en una cadena.

http://glogg.bonnefon.org/



-1

Puede probar LogXtender de SEQREL, que detecta automáticamente patrones y agrega registros similares. La forma en que lo hace es creando expresiones regulares sobre la marcha y usando la expresión regular en caché para que coincida con otros registros. Con la detección de taxonomía adicional se puede agregar más granularidad. Se puede descargar una versión gratuita en https://try.logxtender.net .

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.