日志分析系统平台awstats

Awstats是一款开源、免费、简洁、强大的网站日志分析工具。它可以统计站点的如下信息:

1、访问次数、访客人数, 访问时间和上次访问

2、访问高峰时间

3、域名/国家的主机访客主机名单,最近访问和未解析的 IP 地址名单

4、访问最多页面统计

5、访问最多的档案类型,

6、使用的操作系统,使用的浏览器,

7、机器人访问,蠕虫攻击,使用搜索引擎

8HTTP 协议错误返回信息等

Awkstatsweb页面直观地显示日志分析结果,通过这个平台可以整体上把握网站的访问走势,为网站调优、安全、问题的及时发现等提供数据。下为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 –zxvf nginx-1.3.15.tar.gz

cd nginx-1.3.15

./configure –prefix=/usr/local/nginx–with-http_stub_status_module –with-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–version有如下输出则表明环境就绪

This is perl, v5.8.8 built for i386-linux-thread-multi

解压下载包tar –zxvf awstats-7.1.tar.gz,进入解压目录cdawstats-7.1,执行toos目录中的awststs_configure.pl配置向导,注意解压后此文件没有执行权限需要改定权限,执行chmod 700awststs_configure.pl,执行.awstats_configure.pl,如下输出:

awstats 日志分析熊_awstats 日志分析系统

awstats 日志分析熊_awstats 日志分析系统_02

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–p /var/lib/awstats

cd /usr/local/awstats/wwwroot/cgi-bin/

perlawstats.pl –config=webana –update


6、日志迁移、合并

此为生产环境下的一个日志迁移脚本,是将多台ngins服务器上日志迁移到本机上,合并后统一分析

#!/bin/bash

HOST="

192.168.3.2

192.168.3.3

192.168.3.4

"

ssh  root@192.168.3.2  'scp /nginx/logs/web.access.logroot@192.168.3.5:/data/logs/192.168.3.2.log’

ssh  root@192.168.3.3  'scp /nginx/logs/web.access.logroot@192.168.3.5:/data/logs/192.168.3.3.log'

ssh  root@192.168.3.4  'scp /nginx/logs/web.access.logroot@192.168.3.5:/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–config=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是脚本生成的访问结果主页,如图:

awstats 日志分析熊_awstats 日志分析系统_03