cronolog是可以把apache的日志按照天来分隔的,便于分析
yum install cronolog
vim httpd.conf:
找到这样的行:
#CustomLog logs/access_log combined
CustomLog "|/usr/sbin/cronolog /var/log/httpd/access_%Y%m%d.log" combined
ErrorLog "|/usr/sbin/cronolog /var/log/httpd/error_%Y%m%d.log"
这样在/var/log/httpd/下面的日志就会按照天来滚动
下载awstats:
http://sourceforge.net/projects/awstats/
rpm -ivh awstats-6.9-1.noarch.rpm
error: Failed dependencies:
perl(LWP::UserAgent) is needed by awstats-6.9-1.noarch
我的是centos5.3
还需要安装:
yum install perl-libwww-perl
然后就能顺利安装awstats了
3. 运行配置脚本生成awstats的配置文件
cd /usr/local/awstats/tools
perl awstats_configure.pl
配置脚本询问域名等问题,假设回答的域名为www.abcd.com #(为每一个虚拟主机设置一个配置文件,如果要是就一台主机就随便写,在配置每一个虚拟主机的地方配置各自的日志)
3.1 生成的配置文件会放在/etc/awstats/下面
3.2 生成的配置文件的名称为awstats.www.adcd.com.conf
4. 编辑awstats.www.abcd.com.conf,保证awstats的正常运行
4.1 设置web server的logfile位置
编辑LogFile为web server的log文件位置
LogFile="/var/log/httpd/access_%YYYY%MM%DD.log" #动态文件名和上面apache的配置保持一致
4.2 设置要分析的服务日志类型
LogType=W
w表示为WEB日志
4.3 设置日志格式
LogFormat=1
1表示采用NCSA apache combined/ELF/XLF log format
4.4 设置所要分析网站域名
SiteDomain="www.testmysite.com.cn"
引号中一定要填上域名,或者服务器主机名# 这个在后面web访问的时候需要指定这个参数的
4.5 设置awstats的数据库存放目录
DirData="/usr/local/awstats/data"
两种获取数据方法:
动态:
awstats初始化数据:
perl awstats.pl -config=www.abcd.com(你刚才填的) -update (可以放在crontab里面)
访问:http://192.168.23.223:9999/awstats/awstats.pl?config=localhost.test.com #这个地方换成你前面写的
或者 修改awstats.www.testmysite.com.cn.conf中
AllowToUpdateStatsFromBrowser=1 #这样允许在浏览器中刷新 通过cgi来获取数据注意chmod -R 777 /var/log/httpd 要不刷新会报权限错误
静态:
创建awstats的初始化静态统计页面
perl awstats.pl -config=bbs.testmysite.com.cn -output -staticlinks > awstats.bbs.html
8. 设置需要认证才能访问流量统计页面
8.1 设置用户admin有权访问该页面
cd /usr/local/apache2/bin
./htpasswd -c /usr/local/apache2/passwords admin
按提示连续输入两次密码,这样就创建了admin用户才能访问流量统计页面。
8.2 设置httpd.conf中的awstats条目增加如下内容
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /usr/local/apache2/passwords
Require user admin
访问:http://192.168.23.223:9999/awstats/awstats.pl?config=localhost.test.com
或者你刚才生成的静态页面