对于我们的内部监控流程,我想了解特定日期发生了多少例外情况。我们想从我们的应用程序(Pylons项目)的日志文件中提取信息。
我想用Python本身做这件事。我知道我可以编写一个脚本,它将对日志进行离线处理,以计算异常的数量(以及可能还有与异常相关的其他信息)。
我想问一下我是否已经有一些库可以用来在Python中进行日志文件分析,或者最好的方法是什么?
答案 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库来处理正则表达式。
所以,对于一般问题,总是很有可能......
如果您发布样本日志,我可以看到是否找到了更适合您问题的内容。