对于我们的内部监控流程,我想了解特定日期发生了多少例外情况.我们想从我们的应用程序(Pylons项目)的日志文件中提取信息.
我想用Python本身做这件事.我知道我可以编写一个脚本,它将对日志进行离线处理,以计算异常的数量(以及可能还有与异常相关的其他信息).
我想问一下是否已经有一些库可以用来在Python中进行日志文件分析,或者最好的方法是什么?
我只是遇到了类似的情况,并找到了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'
Run Code Online (Sandbox Code Playgroud)
总结搜索请求流量:
qps -r'^(.*?) org\.apache\.solr\.core\.SolrCore execute' \
-F '%b %d, %Y %I:%M:%S %p' \
-W900 \
--ignore \
<catalina.log
Run Code Online (Sandbox Code Playgroud)
所有服务器活动在1:10到1:20 PM之间:
qps -r'^(.*? 1:1.:.. PM) ' \
-F '%b %d, %Y %I:%M:%S %p' \
-W15 \
--ignore \
<catalina.log
Run Code Online (Sandbox Code Playgroud)
logtools包括用于过滤机器人,按国家/地区标记日志行,日志解析,合并,加入,采样和过滤,聚合和绘图,URL解析,汇总统计和计算百分位数的其他脚本.有关更多信息,请参阅包的GitHub页面.