转载时请务必以超链接形式标明文章 原始出处和作者信息及本版权声明。
链接:http://www.dbasky.net/archives/2009/05/webserverlog-apachetop.html
我们经常会有需要知道当前什么人正在访问我们的网站,谁正在频繁的抓取我们网站的内容,什么搜索引擎正在抓取我们网站?面对这些问题,我们虽然可以去查看log日志文件,但是却不能让我们实时统计,不能给我们直观的统计数据。现在好了,有了apachetop这个工具就可以实时的跟踪log的变化,能查看访问者正在查看哪些文件,和访问者IP等信息。
首先,进行安装:
[root@filerserver ~]#cd /home/apachetop-0.12.6#如果你需要增加正则表达式等功能,则先执行配置命令,不需要则跳过
[root@filerserver ~]#make config
[root@filerserver ~]#make
[root@filerserver ~]#make install
安装成功之后,将在/usr/local/bin,加入apachetop命名文件,如果不能直接执行,请到这里来找。
一般使用方法:
[root@filerserver /]# apachetop -f /usr/local/apache2/logs/access_log
last hit: 03:44:53 atop runtime: 0 days, 00:00:05 03:44:54
All: 1938 reqs ( 387.6/sec) 1875.0K ( 375.0K/sec) 990.7B/req
2xx: 1867 (96.3%) 3xx: 71 ( 3.7%) 4xx: 0 ( 0.0%) 5xx: 0 ( 0.0%)
R ( 5s): 1938 reqs ( 387.6/sec) 1875.0K ( 375.0K/sec) 990.7B/req
2xx: 1867 (96.3%) 3xx: 71 ( 3.7%) 4xx: 0 ( 0.0%) 5xx: 0 ( 0.0%)
REQS REQ/S KB KB/S URL
1832 366.4 1817 363*/get_api/
41 8.20 31.2 6.2 /embed_swf/
36 7.20 26.0 5.2 /farm_bill/
22 4.40 0.2 0.0 /embed_swf/null
4 1.00 0.0 0.0 /NginxCheck
2 0.50 0.4 0.1 /embed_swf/framework_3.2.0.3958.swz
1 0.33 0.2 0.1 /embed_swf/framework_3.2.0.3958.swf
下面是用法说明:
ApacheTop v0.12.6 - Usage:
File options:
-f logfile open logfile (assumed common/combined) [/var/log/httpd-access.log]
(repeat option for more than one source)
URL/host/referrer munging options:
-q 保持请求字符串[no]
-l 所有的url小写[no]
-s num 保持url路径段数量 [all]
-p 在referrer前面保留协议 [no]
-r 保留每一个的主机/ip [no]
Stats options:
必须提供两个参数 default: [-T 30]
缺省设置为保持记录状态30秒,30秒后数据刷新了。为了提供更多的信息给我们分析,我们可以调节下面的参数。
-H hits 保持状态只到多少点击数
-T secs 保持状态只到多少秒
-d secs 刷新延迟时间[5]
-h 这个帮助。
当执行之后,还有命令可以切换显示状态:
ApacheTop version 0.12.6, Copyright (c) 2003-2004, Chris Elsworth附:
ONE-TOUCH COMMANDS
d : 切换urls/referrers/hosts显示模式开关
n : 切换hits & bytes或返回代码开关
h or ? : 帮助信息
p : (un)暂停显示 (冻结更新)
q : 退出 ApacheTop
up/down : 移动星标 up/down
right/left : 进入/退出逐条显示模式
子菜单:
s: 排序: [the appropriate menu will appear for your display]
r) requests R) reqs/sec b) bytes B) bytes/sec
2) 2xx 3) 3xx 4) 4xx 5) 5xx
t: 固定显示 ON/OFF:
u) urls r) referrers h) hosts
f: 使用过滤器:
a) add/edit menu c) clear all s) show active (not done yet)
a: ADD FILTER SUBMENU
u) to urls r) to referrers h) to hosts
所有 HTTP 状态代码及其定义。
代码 指示
2xx 成功
200 正常;请求已完成。
201 正常;紧接 POST 命令。
202 正常;已接受用于处理,但处理尚未完成。
203 正常;部分信息 -- 返回的信息只是一部分。
204 正常;无响应 -- 已接收请求,但不存在要回送的信息。
3xx 重定向
301 已移动 -- 请求的数据具有新的位置且更改是永久的。
302 已找到 -- 请求的数据临时具有不同 URI。
303 请参阅其它 -- 可在另一 URI 下找到对请求的响应,且应使用 GET 方法检索此响应。
304 未修改 -- 未按预期修改文档。
305 使用代理 -- 必须通过位置字段中提供的代理来访问请求的资源。
306 未使用 -- 不再使用;保留此代码以便将来使用。
4xx 客户机中出现的错误
400 错误请求 -- 请求中有语法问题,或不能满足请求。
401 未授权 -- 未授权客户机访问数据。
402 需要付款 -- 表示计费系统已有效。
403 禁止 -- 即使有授权也不需要访问。
404 找不到 -- 服务器找不到给定的资源;文档不存在。
407 代理认证请求 -- 客户机首先必须使用代理认证自身。
410 请求的网页不存在(永久);
415 介质类型不受支持 -- 服务器拒绝服务请求,因为不支持请求实体的格式。
5xx 服务器中出现的错误
500 内部错误 -- 因为意外情况,服务器不能完成请求。
501 未执行 -- 服务器不支持请求的工具。
502 错误网关 -- 服务器接收到来自上游服务器的无效响应。
503 无法获得服务 -- 由于临时过载或维护,服务器无法处理请求。
这个确实很方便,以后又多一个工具。