在FreeBSD中使用AWStats分析apache日志
目录
Awstats
Awstats是什么
Awstats是一个免费非常简洁而且强大有个性的统计工具。它可以统计您站点的如下信息:
- 访问量,访问次数,页面浏览量,点击数,数据流量等
- 精确到每月、每日、每小时的数据
- 访问者国家
- 访问者IP
- Robots/Spiders的统计
- 访客持续时间
- 对不同Files type 的统计信息
- Pages-URL的统计
- 访客操作系统浏览器等信息
- 其它信息(搜索关键字等等)
Awstats安装
FreeBSD从10开始有了类似apt-get、yum的包管理系统,Awstats的安装也就变得容易了很多。首先:
sudo pkg search awstats
会返回如下结果(版本号可能会有不同):
awstats-7.2_1,1 jawstats-0.7.b
而后
sudo pkg install awstats-7.2_1,1
到此Awstats安装完毕,完成后会有一段提示,先拷贝下来,稍后配置apache时要用到。
Please add the following to your apache config, and restart. # # Directives to allow use of AWStats as a CGI # Alias /awstatsclasses "/usr/local/www/awstats/classes/" Alias /awstatscss "/usr/local/www/awstats/css/" Alias /awstatsicons "/usr/local/www/awstats/icons/" ScriptAlias /awstats/ "/usr/local/www/awstats/cgi-bin/" # # This is to permit URL access to scripts/files in AWStats directory. # <Directory "/usr/local/www/awstats/"> Options None AllowOverride None Order allow,deny Allow from all </Directory> ***************************************************************** If you are upgrading from AWStats 6.4 or older, please note the following: If you used the geoip plugin, you must edit your AWStats config file to change the line LoadPlugin="geoip GEOIP_STANDARD" into LoadPlugin="geoip GEOIP_STANDARD /pathto/GeoIP.dat" *****************************************************************
Cronolog
Cronlog是什么
使用cronolog可以格式化日志文件的格式,比如按时间分割,易于管理和分析。
Cronlog安装及使用
Cronlog的安装同Awstats,先通过pkg搜索cronlog,拿到包含版本号的完整名称后,再通过 pkg install
安装。
安装完成以后需要对apache进行适当配置,修改httpd.conf文件,主要注意以下几点:
- 自定义日志格式
CustomLog "|/usr/local/sbin/cronolog /opt/apache/logs/access_log.%Y%m%d" combined
- 如果存在多个虚拟站点,可以考虑在VirtualHost进行相应设置
ServerAdmin webmaster@dummy-host.example.com DocumentRoot /www/docs/dummy-host.example.com ServerName dummy-host.example.com ErrorLog logs/dummy-host.example.com-error_log CustomLog logs/dummy-host.example.com-access_log common
为要统计的站点建立Awstats配置文件
进入 /usr/local/www/awstats/tools/
,执行 ./awstats_configure.pl
之后将会进入一个交互的配置过程,将会检查awstats的安装目录,httpd服务的配置路径,日志记录格式等系统环境,并提示用户指定站点名称,设置配置文件路径。
在指定目标站点名称www.xiaoguo.net后会在 /etc/awstats/
目录下生成一个= awstats.www.xiaoguo.net.conf= 文件,我们还需要对其做进一步的修改。修改的内容主要包括指定要分析的web日志文件和指定存放统计数据的目录。
# 注意日志文件的格式,小过在这里通过cronolog按月对apache的日志进行了分割 LogFile="logs/xiaoguo.net-access_log.%YYYY-1%MM-1" # 指定统计数据的目录 DirData="/var/lib/awstats"
访问AWStats分析系统
在浏览器中输入http://www.xiaoguo.net/awstats/awstats.pl?config=www.xiaoguo.net 即可访问AWStats分析。
访问限制
正如上面这个链接所见,知道链接的人都可以看到站点的统计数据,如果不想这样,可以在apache中设置访问限制
AuthType Basic //验证类型 AuthName “Awstats Analyze” //验证窗口显示的标题 AuthUserFile /var/www/passwd.awstats //密码文件 Require valid-user //可以指定可以访问的用户名
设置计划任务
%crontab -e //设置计划任务,每天晚上23点58分更新一次 # ---类似这样------ /usr/local/www/awstats/tools/awstats_buildstaticpages.pl -config=www.xiaoguo.net -update -lang=cn -awstatsprog=/usr/local/www/awstats/cgi-bin/awstats.pl -dir=/var/www/awstats/xiaoguo.net/ # ----------------
截图一枚