2011-07-27 10 views
7

Dla naszego wewnętrznego procesu monitorowania chcę sprawdzić, ile wyjątków miało miejsce w danym dniu. Chcemy wyodrębnić informacje z pliku dziennika naszej aplikacji (projekt Pylons).Analiza kłód w Pythonie

Chcę to zrobić w samym Pythonie. Mam świadomość, że mogę napisać skrypt, który wykona przetwarzanie w trybie offline w dzienniku w celu zliczenia liczby wyjątków (i ewentualnie innych informacji związanych z tym wyjątkiem).

Chcę zapytać, czy istnieje już biblioteka, której mogę użyć do analizy plików dziennika w Pythonie lub jaki jest najlepszy sposób na zrobienie tego?

+0

Dlaczego nie używasz log2mail (http://people.debian.org/~enrico/log2mail/), logcheck (http://logcheck.org/), dlaczego chcesz odkryć nowe koło? – mouad

Odpowiedz

8

Po prostu miałem podobną sytuację i znalazłem pakiet Python logtools dla zadania. Użyłem go do analizy pliku log Tomcat6/Solr.

skopiować log z serwera i zainstalować logtools w 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' 

Podsumuj żądania wyszukiwania ruchu:

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

Wszystkie działania serwera między 1:10 i 1:20 PM:

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

logtools zawiera dodatkowe skrypty do filtrowania botów, oznaczanie linii dziennika przez kraj , analizowanie dziennika, łączenie, łączenie, próbkowanie i filtrowanie, agregowanie i kreślenie, analizowanie adresu URL, statystyki podsumowania i percentyle obliczeniowe. Aby uzyskać więcej informacji, patrz .

1

Niektóre dodatkowe informacje, takie jak przykładowy dziennik, będą miłe. Ogólnie rzecz biorąc, zawsze możesz skorzystać z potężnej biblioteki re, która działa z wyrażeń regularnych.

Regular Expressions

re Library

Więc tak na ogólne problemy ponownie jest zawsze dobry możliwość ...

Jeśli pisać dziennik przykładowy widzę jeśli znajdę niczego, co pasuje lepiej do ur problem.