1.用命令行工具分析
在对apache 日志格式和内容都有所了解之后,这里总结了一些常用分析工具,它们看上去不起眼,但有时却能发挥大作用,例如cat、ccze、head、grep、less、more、tail 以及wc 等,这几个命令用法简单,组合起来能发挥更大功能。例如,要过滤出包含特定关键字的日志:
#tail –f access_log |grep "关键字"
这条指令将access_log 中新增的日志实时取出,再通过管道送给grep,然后将其包含关键字的行显示在屏幕直到用户强制退出程序。如果后面再加管道则过滤得更加精细。
#tail –f access_log |grep "关键字" |grep –v "MSIE"
这条指令会显示包含关键字且不含“MSIE”的行。如果后面再加wc 指令则可以统计行数,这留给读者自己来思考。
2.自动化分析工具
下面先了解一下Apache 常用自动化日志分析工具,在本章最后给出应用实例。
(1)Webalizer(http://www.webalizer.org/download.html)
在Apache 日志分析领域Webalizer 算是老牌的免费日志分析程序,有关它的配置资料很容易找到,功能一般。
(2)Awstats
Awstats 是一个发展迅速的Web 日志分析工具,它采用Perl 语言开发,是个强大而有个性的网站日志分析工具,针对Apache、Nginx、Ftp 和Sendmail 的日志都能进行分析。
(3)ApacheTop(http://freecode.com/projects/apachetop)
ApacheTop 是一个命令行界面的日志统计工具,它可以动态地查看apache 的日志文件,还可以直观地显示访问的每个地址的请求数、速度及流量等信息。
使用方法为:#apachetop -f /var/log/httpd/access_log -T 1000 -d 2
.........................................................