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.
12
perl
.Respuestas:
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.
fuente
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.
fuente
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.
fuente
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.
fuente
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.
fuente
Si está usando debian / squeeze en su servidor, eche un vistazo a log2mail: http://packages.debian.org/squeeze/log2mail
fuente
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.
fuente
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 .
fuente
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 .
fuente