Анализ логов в Python - PullRequest
       4

Анализ логов в Python

8 голосов
/ 27 июля 2011

Для нашего внутреннего процесса мониторинга я хочу выяснить, сколько исключений имело место в определенный день. Мы хотим извлечь информацию из файла журнала нашего приложения (проект Pylons).

Я хочу сделать это в самом Python. Мне известно, что я могу написать скрипт, который будет выполнять автономную обработку журнала для подсчета количества исключений (и, возможно, другой информации, связанной с этим исключением).

Я хочу спросить, есть ли уже какая-то библиотека, которую я могу использовать для анализа файлов журнала в Python или каков наилучший способ сделать это?

Ответы [ 2 ]

8 голосов
/ 03 февраля 2012

У меня была похожая ситуация, и я нашел пакет Python для logtools . Я использовал его для анализа файла журнала Tomcat6 / Solr.

Скопируйте журнал с сервера и установите logtools в 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'

Суммируйте поисковый запрос:

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

Вся активность сервера в период с 1:10 до 13:20:

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

logtools включает в себя дополнительные скрипты для фильтрации ботов, пометки строк журнала страна, разбор журналов, слияние, объединение, выборка и фильтрация, агрегация и построение графиков, разбор URL, сводная статистика и процентили вычислений. См. Страницу пакета для получения дополнительной информации. информация.

1 голос
/ 27 июля 2011

Некоторая дополнительная информация, например пример журнала, была бы хороша.Вообще говоря, вы всегда можете использовать мощную библиотеку re, которая работает с регулярными выражениями.

Регулярные выражения

re Library

Так что да, для общих проблем всегда есть хорошая возможность ...

Если вы опубликуете пример журнала, я смогу увидеть, найду ли я что-нибудь, что лучше подходит для вашей проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...