¿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.

David Tinker
fuente
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.

adamo
fuente
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.

Burhan Khalid
fuente
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.

Roca
fuente
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.

EdwardTeach
fuente
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.

falsificador
fuente
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/

Alexandre Roux
fuente
0

Splunk suele ser una buena solución para esto. Pero mencionaste que es demasiado caro para ti. Así que te recomiendo que mires a Logstash o GrayLog .

Raffael Luthiger
fuente
-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 .

Mihnea
fuente