apache 日志分析工具

webalizer是一个高效的、免费的web服务器日志分析程序。其分析结果以HTML文件格式保存,从而可以很方便的通过web服务器进行浏览。Internet上的很多站点都使用webalizer进行web服务器日志分析

下载网址 www.webalizer.org Webalizer的特性:

 1. 为是用C写的程序,所以其具有很高的运行效率。在主频为200Mhz的机器上,webalizer每秒钟可以分析10000条记录,所以分析一个40M大小的日志文件只需要15秒。

2. webalizer支持标准的一般日志文件格式(Common Logfile Format);除此之外,也支持几种组合日志格式(CombinedLogfile Format)的变种,从而可以统计客户情况以及客户操作系统类型。并且现在webalizer已经可以支持wu-ftpd xferlog日志格式以及squid日志文件格式了。

3. 支持命令行配置以及配置文件。

4. 可以支持多种语言,也可以自己进行本地化工作。

5. 支持多种平台,比如UNIX、linux、NT, OS/2 和MacOS等。

Webalizer的安装:

1.从webalizer的官方站点下载webalizer,当前的最新版本是2.23-05。

2.首先解开源代码包:

tar xvzf webalizer-2.01-06-src.tgz –C  (指定解压路径)

3.在生成的目录中有个lang目录,该目录中保存了各种语言文件,但是只有繁体中文版本,可以自己转换成简体,或者自己重新翻译一下。

4.然后进入生成的目录:

./configure

make --with-language=chinese

5.编译成功后,会产生一个webalizer可执行文件,可以将其拷贝到/usr/sbin/目录下:

cp webalizer /usr/sbin/

然后就可以开始配置webalizer了。



可以执行webalizer –h得到所有命令行参数:

Usage: webalizer [options][log file]

-h = 打印帮助信息

-v -V = 打印版本信息

-d = 打印附加调试信息

-F type = 日志格式类型. type= (clf | ftp | squid)

-i = 忽略历史文件

-p = 保留状态 (递增模式)

-q = 忽略消息信息

-Q = 忽略所有信息

-Y = 忽略国家图形

-G = 忽略小时统计图形

-H = 忽略小时统计信息

-L = 忽略彩×××例

-l num = 在图形中使用数字背景线

-m num = 访问超时 (seconds)

-T = 打印时间信息

-c file = 指定配置文件

-n name = 使用的主机名

-o dir = 结果输出目录

-t name = 指定报告题目上的主机名

-a name = 隐藏用户代理名称

-r name = 隐藏访问链接

-s name = 隐藏客户

-u name = 隐藏URL

-x name = 使用文件扩展名

-P name = 页面类型扩展名

-I name = index别名

-A num = 显示前几名客户类型

-C num = 显示前几名国家

-R num = 显示前几名链接

-S num = 显示前几名客户

-U num = 显示前几名URLs

-e num = 显示前几名访问页面

-E num = 显示前几名不存在的页面

-X = 隐藏个别用户

-D name = 使用dns缓存文件

-N num = DNS 进程数 (0=禁用dns)


假设,web服务器主机名为www.test.com,统计站点域名为www.test.com, 访问日志为/var/log/httpd/access_log,我们将webalizer分析结果输出到/var/www/html/log下面。

则我们可以建立以下脚本/etc/rc.d/webalizer:

#!/bin/bash

run=/usr/local/bin/webalizer

$run -F clf -p -n " " -t "www.abc.com" -o/var/www/html/log /var/log/httpd/access_log

说明:

-F clf 指明我们的web日志格式为标准的一般日志文件格式(Common Logfile Format)

-p 指定使用递增模式,这就是说每作一次分析后,webalizer会生产一个历史文件,这样下一次分析时就可以不分析已经处理过的部分。这样我们就可以在短时间内转换我们的日志文件,而不用担心访问量太大时日志文件无限增大了。

-n “ “ 指定服务器主机名为空,这样输出结果会美观一些。

-o “www.test.com”指定输出结果标题.

/var/log/httpd/access_log:指定日志文件

然后在/etc/crontab中加入:

01 1 * * * root /etc/rc.d/webalizer

即每天凌晨1点执行该脚本。

然后运行/etc/rc.d/init.d/crondreload重载入crond服务。

测试: 执行以下命令:

# /etc/rc.d/webalizer

然后在浏览器中访问http://www.test.com/log/就可以看到webalizer的分析结果了。

注意:如果您使用了中文语言文件,但是您的linux不支持中文,则在产生的图片中文字可能为乱码。


安装过程:

环境:虚拟机下 linux5.4

确定linux已经安装过 httpd-2.2.3-31.el5.i386.rpm

                     php-5.1.6-23.2.el5_3.i386.rpm

(注意:如果未安装 请先进行安装 提示php软件包有依赖软件包所以最好配置本地yum  进行yum安装:yum http  php  )

安装后启动服务:

 service  httpd  start

web的站点主目录创建一个php格式的首页  index.php 用于测试php httpd的可连接是否正确:

linux apache日志分析工具_第1张图片


在浏览器中输入: http://192.168.100.101   (linux 主机地址) 出现下图及证明php httpd安装正确:


linux apache日志分析工具_第2张图片


下面是日志工具的安装:

日志工具:webalizer-2.23-05-src.tgz (请提前下载)

linux apache日志分析工具_第3张图片


解压到指定目录:tar -zxvf webalizer-2.23-05-src.tgz -C/usr/local/src

切换到解压目录:cd /usr/local/src/webalizer-2.23-05/

查看 :vim INSTALL

linux apache日志分析工具_第4张图片

安装: ./configure --sysconfdir=/etc/webalizer(指明安装目录,具体方法查看:./configure--help |less )

       make

       make install


mkdir -pv /var/www/html/log

编写系统计划任务表:

vim /etc/crontab


linux apache日志分析工具_第5张图片


因为目录还未存在所以先创建目录和文件:


创建目录:mkdir /etc/cron.web

切换目录:cd /etc/cron.web/

新建文件:vim web

linux apache日志分析工具_第6张图片


改变文件权限:chmod a+x web


等待5分钟 或者手动执行文件使其产生日志信息:

手动执行产生:

linux apache日志分析工具_第7张图片


依靠系统日志查看:

linux apache日志分析工具_第8张图片

查看生成的日志文件

linux apache日志分析工具_第9张图片


查看日志信息:

在浏览器中输入:

http://192.168.100.129/log


出现下图信息:及日志的相关信息

linux apache日志分析工具_第10张图片