分析Apache日志文件,统计各种实用信息

FROM:http://blog.topspeedsnail.com/archives/160

Apache访问日志记录了Apache处理的所有的请求。访问日志存储目录由CustomLog指定。下面我们来分析日志并得出有用的统计。

我的Apache日志存储目录 /var/log/apache2

分析Apache日志文件,统计各种实用信息

access.log 文件几本结构示例

分析apache日志分析文件

原则上是用 awk 命令处理每一行,分离出有用的信息。因为每一行数据都是安一定标准输出,所以我们处理起来也不难。

用空白字符(空格或Tab)我们可以得到如下基本代码:

如执行用户代理命令

分析Apache日志文件,统计各种实用信息

下面是一些实用的例子:

列出所有用户代理(user agent)并按出现次数排列(从高到低)

定位网站问题(通过状态码统计)

分析Apache日志文件,统计各种实用信息

第一列个数,第二列状态码(正常值200)

  • 200 – OK
  • 206 – Partial Content
  • 301 – Moved Permanently
  • 302 – Found
  • 304 – Not Modified
  • 401 – Unauthorised (password required)
  • 403 – Forbidden
  • 404 – Not Found

什么引起的404?

丢失文件或资源造成404错误,查看请求 URI 来定位链接。

分析Apache日志文件,统计各种实用信息

404请求答复

分析Apache日志文件,统计各种实用信息

独立请求IP地址

分析Apache日志文件,统计各种实用信息

独立请求IP地址对应的国家

安装依赖

分析Apache日志文件,统计各种实用信息

查看谁在引用你的图片资源(省带宽)

列出空白的用户代理(user agent)

空用户代理有可能是爬虫脚本,当然也有可能是极其重视隐私的用户。用下面命令列出空用户代理对应的IP地址:

负载过高

当你的网站在高负载下,你应该知道高负载是来自真正的用户还是其他什么东东。

  • 配置问题或系统问题
  • 有机器人频繁访问你的网站
  • 拒接服务攻击

Top 10 ip

每个状态码对应的数据传送量(单位KB)

分析Apache日志文件,统计各种实用信息

Top 10 URI

Top 10 user-agents

最近10,000次点击

每天的请求量

分析Apache日志文件,统计各种实用信息

每小时的请求量

注意修改日期参数

分析Apache日志文件,统计各种实用信息

每分钟的请求量

分析Apache日志文件,统计各种实用信息

所有独立访客

今天所有独立访客

这个月所有独立访客

所有独立访客-指定日期

所有独立访客-指定月份

IP对应的请求个数

最受欢迎的URL

实时查看请求

独立IP地址

带时间戳的独立IP地址

独立IP地址和浏览器

独立IP地址和操作系统