Chinaunix首页 | 论坛 | 博客
  • 博客访问: 261302
  • 博文数量: 54
  • 博客积分: 2668
  • 博客等级: 少校
  • 技术积分: 560
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-06 01:08
文章分类

全部博文(54)

文章存档

2011年(14)

2010年(14)

2009年(26)

分类:

2009-05-06 09:11:21




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


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

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

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

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

    1. 支持多种平台,比如UNIXlinuxNT, OS/2 MacOS等。

注意:以下的是自己机器上假设的站点

 


1webalizer的安装及其配置

1.1 安装


在安装以前首先需要确保系统已经安装有gd库,可以使用:


[root@mail root]# rpm -qa|grep gd

gd-devel-1.8.4-4

gdbm-devel-1.8.0-14

gdbm-1.8.0-14

sysklogd-1.4.1-8

gd-1.8.4-4


来确认系统已经安装有gd-devegd两个rpm包。


安装webalizer有两种方式,一种是下载源代码来安装,一种是直接使用rpm包来安装。


使用rpm包方式安装非常简单,从rpmfind.net找到webalizer包,下载以后:


rpm –ivh webalizer-2.01_10-1.i386.rpm


即可实现安装。


对于源代码方式首先需要从下载,然后安装,首先解开源代码包:


tar xvzf webalizer-2.01-10-src.tgz


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


cd webalizer-2.01-10

./configure

make --with-language=Chinese

make install


编译成功后,会在/usr/local/bin/目录下安装一个webalizer可执行文件。

1.2 配置和运行


webalizer运行的控制可以通过配置文件或者在命令行指定参数的两种方式进行。而使用配置文件方式是比较简单和灵活的,适用于自动web服务器日志统计分析的应用环境。


webalizer的默认配置文件为/etc/webalizer.conf,当启动Webalizer时没有使用“-f“选项时,Webalizer就会寻找文件/etc/webalizer.conf,也可以使用“-f”来指定配置文件(当服务器有虚拟主机时,就需要配置多份不同的webalizer配置文件,不同的虚拟主机的webalizer使用不同的配置文件。Webalizer.conf配置文件中需要修改的配置选项如下:


LogFile /var/www/logs/access_log


用来指示配置文件的路径信息,webalizer会将该日志文件作为输入进行统计分析;


OutputDir /var/www/usage


用来指示生成的统计报表的保存目录,在前面我们使用alias,使得用户可以使用http:///usage/来访问统计报表。


HostName ---你架构的站点


用来指示主机名,统计报表中会引用该主机名。


其他选项就无需修改,配置文件修改完毕以后,就需要在定时webalizer,每天生成当日的统计分析。

注意:修改 vim /etc/httpd/conf.d/webalizer.conf

#

# This configuration file maps the webalizer log analysis

# results (generated daily) into the URL space. By default

# these results are only accessible from the local host.

#

Alias /usage /var/www/usage


Order deny,allow

Deny from all

Allow from 127.0.0.1 192.168.x.x --你所在的IP段,或者你allow from all也行

Allow from ::1

# Allow from .example.com




root身份运行:crontab –e 进入定时运行任务编辑状态,加入如下任务:


5 0 * * * /usr/local/bin/webalizer –f /etc/secfocus.webalizer.conf

15 0 * * * /usr/local/bin/webalizer –f /etc/tomorrowtel.webalizer.conf


或者写一个脚本/etc/cron.daily/weblilzer.daily

#! /bin/bash

# update access statistics for the web site


if [ -s /var/log/httpd/access_log ] ; then

/usr/bin/webalizer

fi



exit 0


我们这里假设系统运行有两个虚拟主机,并分别定义了日志分析配置文件secfocus.webalizer.conftomorrowtel.webalizer.conf。这样我们定义在凌晨00:05secfocus的日志进行统计分析;在凌晨00:15tomorrowtel的日志进行统计分析。


然后第二天分别使用http://www.secfocus.com/usage/来察看各自的日志分析报表。

2保护日志统计分析报告不被未授权用户访问


我们肯定不会希望自己网站访问统计信息随意被别人浏览,因此需要将usage目录保护起来,只允许合法用户访问。这里可以采用apache自带的基本的认证机制,配置以后再连接这个地址就会需要用户提供密码才能访问该页面:



2.1条件

修改修改apache的配置文件

#vi /etc/httpd/conf/http.conf

在配置文件中对目录"/"应该设置为:

DocumentRoot /var/www/sina.com

AccessFileName .htaccess

AllowOverride All


2.2需求


需求:限制对http:///usage/的访问,要求用户认证才能访问。这里设置用户为"admin",口令为"12345678"


2.3使用htpasswd建立用户文件


htpasswd -c /var/www/.passwd admin

此程序会询问用户"admin"的口令,你输入"12345678",两次生效。


2.4建立.htaccess文件


vi/var/www/usage/目录下建立一个文件.htaccess,写入以下几行:

AuthName admin-only

AuthType Basic

AuthUserFile /www/.passwd

require user admin


2.5测试


这时候通过浏览器访问http:///usage就会弹出框请求输入用户名和口令,这时候输入admin,12345678就可以才可以访问访问日志统计分析报表

阅读(1577) | 评论(0) | 转发(0) |
0

上一篇:网络职守安装

下一篇:cacti安装及配置

给主人留下些什么吧!~~