使用 Pandas 分析 Apache 日志

本文的作者是 Nikolay Koldunov,本文原文是Apache log analysis with Pandas注本文的图有问题,没法引用,还是去原文看下,这里作为一个引子。%pylab inline欢迎来到 pylab,一个基于 matplotlib 的 Python 环境【backend: module://IPython.kernel.zmq.pyla
摘要由CSDN通过智能技术生成

本文的作者是 Nikolay Koldunov,本文原文是
Apache log analysis with Pandas

注本文的图有问题,没法引用,还是去原文看下,这里作为一个引子。

%pylab inline

欢迎来到 pylab,一个基于 matplotlib 的 Python 环境【backend: module://IPython.kernel.zmq.pylab.backend_inline】。想要了解更多信息,请键入 'help(pylab)'。

在这个笔记中,我们将展示一个使用 pandas 分析 Apache 访问日志的简单示例。这是我第一次使用 pandas,并且我确定会有更好以及更有效率的方式来做这里展示的事情。所以评论,建议和修正我的蹩脚英语是非常欢迎的。你可以给我发送邮件或者是为这个笔记的 github 创建一个 PR。

加载和解析数据

我们将需要 apachelog 模块,用来解析日志。我们也需要知道设置在 Apache 配置中的日志格式。在我的案例中,我没有访问 Apache 配置,但是主机托管服务提供商在他的帮助页提供了日志格式的描述。下面是它自己的格式以及每个元素的简单描述:

format = r'%V %h  %l %u %t \"%r\" %>s %b \"%i\" \"%{User-Agent}i\" %T'

这里(大部分拷贝自这个 SO 文章):

%V          - 根据 UseCanonicalName 设置的服务器名字
%h          - 远程主机(客户端 IP)
%l          - identity of the user determined by identd (not usually used since not reliable)
%u          - 由 HTTP authentication 决定的 user name
%t          - 服务器完成处理这个请求的时间
%r          - 来自客户端的请求行。 ("GET / HTTP/1.0")
%>s         - 服务器端返回给客户端的状态码(200, 404 等等。)
%b          - 响应给客户端的响应报文大小 (in bytes)
\"%i\"      - Referer is the page that linked to this URL.
User-agent  - the browser identification string
%T          - Apache 请求时间
In [3]:import apachelog, sys

设置格式:

In [4]:fformat = r'%V %h %l %u %t \"%r\" %>s %b \"%i\" \"%{User-Agent}i\" %T'

创建一个解析器:

In [5]:p = apachelog.parser(fformat)

简单字符串:

koldunov.net 85.26.235.202 - - [16/Mar/2013:00:19:43 +0400]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值