日志分析系统平台awstats
Awstats是一款开源、免费、简洁、强大的网站日志分析工具。它可以统计站点的如下信息:
1、访问次数、访客人数, 访问时间和上次访问
2、访问高峰时间
3、域名/国家的主机访客主机名单,最近访问和未解析的 IP 地址名单
4、访问最多页面统计
5、访问最多的档案类型,
6、使用的操作系统,使用的浏览器,
7、机器人访问,蠕虫攻击,使用搜索引擎
8、HTTP 协议错误返回信息等
Awkstats以web页面直观地显示日志分析结果,通过这个平台可以整体上把握网站的访问走势,为网站调优、安全、问题的及时发现等提供数据。下为awstats系统的搭建过程及使用情况:
一、awstats系统搭建
系统平台Red Hat Enterprise Linux Server release 5.5
awstat统计结果要通过页面显示,所以需要部署web服务器,我使用了nginx
1、下载nginx: wget http://nginx.org/en/download.html/nginx-1.3.15.tar.gz,安装nginx
tar �Czxvf nginx-1.3.15.tar.gz
cd nginx-1.3.15
./configure �Cprefix=/usr/local/nginx�Cwith-http_stub_status_module �Cwith-http_ssl_module
make
make install
nginx安装完成
2、下载awstats:
wget http://sourceforge.net/projects/awstats/files/AWStats/7.1/awststs-7.1.tar.gz,安装awstats,在安装前需确认服务器上的perl环境已就绪使用perl�Cversion有如下输出则表明环境就绪
This is perl, v5.8.8 built for i386-linux-thread-multi。
解压下载包tar �Czxvf awstats-7.1.tar.gz,进入解压目录cdawstats-7.1,执行toos目录中的awststs_configure.pl配置向导,注意解压后此文件没有执行权限需要改定权限,执行chmod 700awststs_configure.pl,执行.awstats_configure.pl,如下输出:
3、修改nginx配置文件
server {
listen 80;
server_name webana.com;
#charset koi8-r;
access_log logs/web.access.log main;
location / {
root html;
index index.html index.htm;
}
#使用了nginx的默认访问目录 html
location ~^/icon/ {
root /usr/local/awstats/wwwroot;
index index.html;
access_log off;
}
#加载awstats的图片目录.
4、修改awststs配置文件, vi/etc/awstats/awstats.webana.conf
LogFile="/data/logs/web.access.log"此选项制定awstats 需要分析的日志存放位置,依个人喜好定
LoadPlugin=”decodeutfkeys”前边的#去掉,awstats搜索关键字,词,短语中文出现乱码解决办法
LoadPlugin=”tooltips”去掉前边的#,增加鼠标移动帮助功能
DirData="/var/lib/awstats"设置awststs数据库存放目录
5、初始化awstats数据库
mkdir�Cp /var/lib/awstats
cd /usr/local/awstats/wwwroot/cgi-bin/
perlawstats.pl �Cconfig=webana �Cupdate
6、日志迁移、合并
此为生产环境下的一个日志迁移脚本,是将多台ngins服务器上日志迁移到本机上,合并后统一分析
#!/bin/bash
HOST="
192.168.3.2
192.168.3.3
192.168.3.4
"
ssh [email protected] 'scp /nginx/logs/[email protected]:/data/logs/192.168.3.2.log’
ssh [email protected] 'scp /nginx/logs/[email protected]:/data/logs/192.168.3.3.log'
ssh [email protected] 'scp /nginx/logs/[email protected]:/data/logs/192.168.3.4.log'
echo""> /data/logs/web.access.log
fora in $HOST
do
cat/data/logs/$a.log >>/data/logs/web.access.log
done
forb in $HOST
do
rm-f /data/logs/$b.log
done
需要注意的地方由于本平台是统计nginx的访问日志,要注意nginx服务器的日志格式为
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent"$http_referer" '
'"$http_user_agent""$http_x_forwarded_for"'
7、日志分析
此为生产环境下通过awstats日志分析的脚本
#!/bin/bash
DATE=`date+%Y%m%d`
mkdir-p /usr/local/nginx/html/$DATE
DEST=”/usr/local/nginx/html/$DATE"
/usr/local/awstats/tools/awstats_buildstaticpages.pl -update-config=webana -lang=cn -dir=$DEST -awstatsprog=/usr/local/awstats/wwwroot/cgi-bin/awstats.pl
脚本说明:
/usr/local/awstats/tools/awstats_buildstaticpages.pl awstats 静态页面生成工具
-update�Cconfig=webana 更新配置项,即指定使用的配置文件(在/etc/awstats下)
-lang=cn语言为中文
-dir=$DEST统计结果输出目录
-awstatsprog=/usr/local/awstats/wwwroot/cgi-bin/awstats.pl Awstats 日志更新程序路径
这里在nginx的访问目录html中按日期生成一个目录,然后把awstats统计生成的数据写入生成的目录中,就可以根据日期来访问你想要查看的数据。
awstats的使用:
安装完成后可以通过:http://192.168.3.5/20130330/awstats.webana.html来访问统计结果,这里说明awstata.webana.html是脚本生成的访问结果主页,如图: