找回密码
 开放注册

QQ登录

只需一步,快速开始

微信登录

微信扫码,快速开始

搜索
查看: 595|回复: 2

用Webalizer分析Web日志

[复制链接]

485

主题

3564

回帖

70

牛毛

初生牛犊

积分
70
发表于 2008-7-21 15:32:05 | 显示全部楼层 来自 辽宁省营口市
好了


就这么做

2

主题

115

回帖

153

牛毛

一级牛人

积分
153
发表于 2008-7-22 22:34:10 | 显示全部楼层 来自 北京市海淀区
呵呵,这个从来没有接触过!

320

主题

1503

回帖

2441

牛毛

二级牛人

隐……

积分
2441
QQ
 楼主| 发表于 2008-7-21 15:12:07 | 显示全部楼层 |阅读模式 来自 山西省长治市
一、介绍

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

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

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

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

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

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

  二、安装

  1.从Webalizer的官方站点http://www.mrunix.net/Webalizer/下载Webalizer,当前的最新版本是Webalizer-2.01-06-src.tgz。

  2.首先解开源代码包:

  tar xvzf Webalizer-2.01-06-src.tgz

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

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

  ./configure

  make --with-language=chinese

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

  cp Webalizer /usr/sbin/

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

  三、 配置

  上面说过,可以通过命令行配置Webalizer,也可以通过配置文件进行配置,在本文中我们将介绍使用命令行参数进行配置,需要了解配置文件使用方法的朋友可以参考README文件,里面有很详细的介绍。

  可以执行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/sh

  run=/usr/sbin/Webalizer

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

  -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/crond reload重载入crond服务。

  四、测试

  执行以下命令:

  # /etc/rc.d/Webalizer

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

  注意:如果您使用了中文语言文件,但是您的linux不支持中文,则在产生的图片中文字可能为乱码。
您需要登录后才可以回帖 登录 | 开放注册

本版积分规则

帮助|Archiver|小黑屋|通信管理局专项备案号:[2008]238号|NB5用户社区 ( 皖ICP备08004151号;皖公网安备34010402700514号 )

GMT+8, 2025-1-13 03:01 , Processed in 0.118712 second(s), 29 queries , Yac On.

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表