Python中的日志分析

时间:2011-07-27 11:20:54

标签: python logging

对于我们的内部监控流程,我想了解特定日期发生了多少例外情况。我们想从我们的应用程序(Pylons项目)的日志文件中提取信息。

我想用Python本身做这件事。我知道我可以编写一个脚本,它将对日志进行离线处理,以计算异常的数量(以及可能还有与异常相关的其他信息)。

我想问一下我是否已经有一些库可以用来在Python中进行日志文件分析,或者最好的方法是什么?

2 个答案:

答案 0 :(得分:8)

我遇到了类似的情况,并找到了logtools Python程序包。我用它来分析Tomcat6 / Solr日志文件。

从服务器复制日志并在virtualenv中安装 logtools

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到1:20 PM之间:

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

logtools 包含用于过滤机器人的附加脚本,标记日志行 国家,日志解析,合并,加入,采样和过滤,聚合和 绘图,URL解析,摘要统计和计算百分位数。有关详情,请参阅package's GitHub page 信息。

答案 1 :(得分:1)

一些额外的信息,比如示例日志会很好。一般来说,您总是可以使用强大的re库来处理正则表达式。

Regular Expressions

re Library

所以,对于一般问题,总是很有可能......

如果您发布样本日志,我可以看到是否找到了更适合您问题的内容。