2011-07-27 14 views
7

Para nuestro proceso de monitoreo interno, quiero saber cuántas excepciones han tenido lugar en un día en particular. Queremos extraer la información del archivo de registro de nuestra aplicación (proyecto Pylons).Análisis de Log en Python

Quiero hacer esto en Python. Soy consciente de que puedo escribir un script que hará el procesamiento fuera de línea en el registro para contar el número de excepciones (y posiblemente otra información relacionada con la excepción).

Quiero preguntar si ya hay alguna biblioteca que pueda usar para hacer análisis de archivos de registro en Python o ¿cuál es la mejor manera de hacerlo?

+0

¿Por qué no está utilizando log2mail (http://people.debian.org/~enrico/log2mail/), logcheck (http://logcheck.org/), por qué quiere reinventar la rueda? – mouad

Respuesta

8

Acabo de tener una situación similar y encontré el paquete logtools Python para el trabajo. Lo usé para analizar un archivo de registro Tomcat6/Solr.

registro de copia de servidor e instalar logtools en un virtualenv:

mkdir /tmp/logwtf 
cd /tmp/logwtf 
scp server:/var/log/tomcat6/catalina.2012-02-03.log ./catalina.log 
virtualenv --system-site-packages --distribute . 
. bin/activate 
pip install -e 'git+https://github.com/adamhadani/logtools.git#egg=logtools' 

Resumir solicitud de búsqueda de tráfico:

qps -r'^(.*?) org\.apache\.solr\.core\.SolrCore execute' \ 
    -F '%b %d, %Y %I:%M:%S %p' \ 
    -W900 \ 
    --ignore \ 
    <catalina.log 

Toda la actividad del servidor 1:10-13:20:

qps -r'^(.*? 1:1.:.. PM) ' \ 
    -F '%b %d, %Y %I:%M:%S %p' \ 
    -W15 \ 
    --ignore \ 
    <catalina.log 

logtools incluye scripts adicionales para filtrar bots, marcar líneas de registro por país , análisis de registro, fusión, unión, muestreo y filtrado, agregación y trazado de , análisis de URL, estadísticas de resumen y percentiles de cálculo. Consulte el package's GitHub page para obtener más información sobre .

1

Alguna información adicional, como un registro de muestra sería agradable. Hablando en general, siempre puedes usar la poderosa biblioteca re que trabaja con expresiones regulares.

Regular Expressions

re Library

Así que sí para los problemas generales RE es siempre una buena posibilidad ...

Si publica un registro de ejemplo puedo ver si encuentro algo que se adapte mejor a ur problema.

Cuestiones relacionadas