一、介绍 P%3pM*. n4K!Wv&u Webalizer是一个高效的、免费的Web服务器日志分析程序。其分析结果以HTML文件格式保存,从而可以很方便的通过Web服务器进行浏览。Internet上的很多站点都使用Webalizer进行Web服务器日志分析。Webalizer具有以下一些特性: U$OZkHA[ I1Q!3P 1. 因为Webalizer是用C写的程序,所以其具有很高的运行效率。在主频为200Mhz的机器上,Webalizer每秒钟可以分析10000条记录,所以分析一个40M大小的日志文件只需要15秒。 s4|\cY`b- 2JfSi2T 2. Webalizer支持标准的一般日志文件格式(Common Logfile Format);除此之外,也支持几种组合日志格式(Combined Logfile Format)的变种,从而可以统计客户情况以及客户操作系统类型。并且现在Webalizer已经可以支持wu-ftpd xferlog日志格式以及squid日志文件格式了。 51|ky- bZnOX*y] 3. 支持命令行配置以及配置文件。 I?e5h@uE 1JJsYX 4. 可以支持多种语言,也可以自己进行本地化工作。 $L/`nd .biq)L e 5. 支持多种平台,比如UNIX、linux、NT, OS/2 和 MacOS等。 jP+yN| @*6fEG{,q 二、安装 4V+bE$Wu .~]|gg~ 1.从Webalizer的官方站点http://www.mrunix.net/Webalizer/下载Webalizer,当前的最新版本是Webalizer-2.01-06-src.tgz。 (@?mm $RD~,<oEm 2.首先解开源代码包: '/d51 tar xvzf Webalizer-2.01-06-src.tgz TGCB=e -C=0Pg]ga 3.在生成的目录中有个lang目录,该目录中保存了各种语言文件,但是只有繁体中文版本,可以自己转换成简体,或者自己重新翻译一下。 AxEyXT(h5 ;4F6 $T'I 4.然后进入生成的目录: 3jx%]S^z| =2R4Z8G ./configure UK=ELvt] make --with-language=chinese 59E9K)c3 O. * 0;5 5.编译成功后,会产生一个Webalizer可执行文件,可以将其拷贝到/usr/sbin/目录下: y{<e4{ ! cp Webalizer /usr/sbin/ q<YM,%mgj %|-N{>wKy 然后就可以开始配置Webalizer了。
三、 配置 Eb3ZM# Ot=>~(u0 上面说过,可以通过命令行配置Webalizer,也可以通过配置文件进行配置,在本文中深圳网站建设将介绍使用命令行参数进行配置,需要了解配置文件使用方法的朋友可以参考README文件,里面有很详细的介绍。 wh:;G`6S %cF`x_h[j 可以执行Webalizer -h得到所有命令行参数: eg[EFI.h |#Gxqq' Usage: Webalizer [options] [log file] vhe Y F@ -h = 打印帮助信息 c`O~I<(Pm -v -V = 打印版本信息 pbMANZU[ -d = 打印附加调试信息 !0{SVsc) -F type = 日志格式类型. type= (clf | ftp | squid) +){^HC\7h -i = 忽略历史文件 $AK ^E6 -p = 保留状态 (递增模式) LjZlKB5C -q = 忽略消息信息 k+QGvgP[4@ -Q = 忽略所有信息 z'L0YqXG/ -Y = 忽略国家图形 F^dJ{<yX -G = 忽略小时统计图形 zIa={tU -H = 忽略小时统计信息 !BQt+4G7 -L = 忽略彩色图例 @-@Coy 4Tt -l num = 在图形中使用数字背景线 /@Lk H$ -m num = 访问超时 (seconds) P\"kr?jZP -T = 打印时间信息 Nd(,oXa~ -c file = 指定配置文件 h,LSqjf " -n name = 使用的主机名 NaR} 0 -o dir = 结果输出目录 J 6 ~Sr -t name = 指定报告题目上的主机名 196aYLE -a name = 隐藏用户代理名称 Wn<?_}sa|z -r name = 隐藏访问链接 f&-`+V}U -s name = 隐藏客户 eMGJx"a -u name = 隐藏URL 'F W? -x name = 使用文件扩展名 jg$qp%7i% -P name = 页面类型扩展名 6,t6~Uo/ -I name = index别名 y|LHnNQ -A num = 显示前几名客户类型 IMM;LC%rD9 -C num = 显示前几名国家 &}DfIP< -R num = 显示前几名链接 Y3 $jNuV -S num = 显示前几名客户 3lF"nv -U num = 显示前几名URLs 0|e[o" -e num = 显示前几名访问页面 y 4i3m(S -E num = 显示前几名不存在的页面 a_N7X -X = 隐藏个别用户 F5?S8=i -D name = 使用dns缓存文件 p%I)&- 8 -N num = DNS 进程数 (0=禁用dns) =-sTV\ ;yNc 7Vl 假设,Web服务器主机名为www.remexsky.com,统计站点域名为www.remexsky.com, 访问日志为/var/log/httpd/access_log, 我们将Webalizer分析结果输出到/var/www/html/log下面。则我们可以建立以下脚本/etc/rc.d/Webalizer: 3?o4 [CQR #!/bin/sh 5>}$]d/o run=/usr/sbin/Webalizer UytMnJ88 $run -F clf -p -n " " -t "www.remexsky.com" -o /var/www/html/log /var/log/httpd/access_log
说明: ' i+L Lx,=Up. -F clf 指明我们的Web日志格式为标准的一般日志文件格式(Common Logfile Format) "L3mW=!* wfo,r 7 -p 指定使用递增模式,这就是说每作一次分析后,Webalizer会生产一个历史文件,这样下一次分析时就可以不分析已经处理过的部分。这样我们就可以在短时间内转换我们的日志文件,而不用担心访问量太大时日志文件无限增大了。 UF"%FF 2cCiHEL# -n " " 指定服务器主机名为空,这样输出结果会美观一些。 #/>TuJc Lt*P& -o "www.test.com" 指定输出结果标题. .`Rt K<P d.: /var/log/httpd/access_log:指定日志文件 =x<N+vjXY \_Bj"K 然后在/etc/crontab中加入: Gxw1P@<F: J?O0ixU 01 1 * * * root /etc/rc.d/Webalizer x9YQd69 V\`Z|'WIQD 即每天凌晨1点执行该脚本。 然后运行/etc/rc.d/init.d/crond reload重载入crond服务。 SwOW%o sF{~7IB 四、测试 $INB_/R E TUfj\d, 执行以下命令: -#ZvjEaey # /etc/rc.d/Webalizer =F+v+zP7P 然后在浏览器中访问http://www.test.com/log/就可以看到Webalizer的分析结果了。 g~DuK|+ >V6t L;+ 深圳网站设计提醒注意:如果您使用了中文语言文件,但是您的linux不支持中文,则在产生的图片中文字可能为乱码。