project03日志分析工具AWStats

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了project03日志分析工具AWStats相关的知识,希望对你有一定的参考价值。

 

++++++++++++++++++++

日志分析工具AWStats

++++++++++++++++++++

http://www.oschina.net/project

http://www.oschina.net/project/tag/147/log-analyzer --统计日志分析工具

http://www.awstats.org/ --官方网站

http://www.nltechno.com/awstats/awstats.pl?config=destailleur.fr  --官方页面的统计

AWStats 是一个免费的强大而有个性的工具,带来先进的网络,流量,FTP或邮件服务器统计图. 本日志分析器作为CGI或从命令行在数个图形网页中显示你日志中包含的所有可能信息. 它利用一部分档案资料就能经常很快地处理大量日志档案, 它能分析日志文件来自从各大服务器工具 ,Apache日志档案 s (NCSA combined/XLF/ELF log format or common/CLF log format), WebStar, IIS (W3C的日志格式)及许多其他网站,Proxy(代理服务器)Wap、流量服务器、邮件服务器和一些 FTP服务器

统计( web|ftp|mail|流媒体)

它可以统计您站点的如下信息:

一:访问量,访问次数,页面浏览量,点击数,数据流量等

二:精确到每月、每日、每小时的数据

三:访问者国家

四:访问者IP

五:Robots/Spiders的统计

六:访客持续时间

七:对不同Files type 的统计信息

八:Pages-URL的统计

九:访客操作系统浏览器等信息

十:其它信息(搜索关键字等等)


思路

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

1.  通过perl工具生成web日志分析模板文件

[*] cd /usr/local/awstats && ./tools/awstats_configure.pl

  perl awstats_configure.pl

2.  生成的模板文件

[*] /etc/awstats/awstats.www.uplooking.com.conf

   /etc/awstats/awstats.mysite.conf

3.  通过分析日志工具,将分析的结果存放在Datadir  

[*] /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.uplooking.com

perl awstats.pl config=mysite output staticlinks > awstats.mysite.html

  --自动分析|通过计划任务实现自动分析

4  通过cgi方式访问页面

[*] http://localhost/awstats/awstats.pl?config=www.uplooking.com

http://www.myserver.mydomain/awstats/awstats.pl?config=mysite

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

部署

 1 统计apache的旧的访问日志

 2 统计apache的实时的访问日志

 3 统计ftp的旧日志

--扩展--统计ftp的实时的访问日志 统计邮件日志

 

 1> 下载软件

[[email protected] ~]# lftp 192.168.0.254

lftp 192.168.0.254:~> cd notes/weekend/project/software/

lftp 192.168.0.254:/notes/weekend/project/software> mirror awstats/

lftp 192.168.0.254:/notes/weekend/project/software> exit


 2> 解压到指定目录/usr/local

[[email protected] ~]# tar xf /root/awstats/awstats-6.9.tar.gz  -C /usr/local/

[[email protected] ~]# mv /usr/local/awstats-6.9/ /usr/local/awstats


 3> 通过perl awstats_configure.pl 脚本 生成配置文件

 

进入到awstats家目录 运行脚本

[[email protected] ~]# cd /usr/local/awstats/

[[email protected] awstats]# perl  tools/awstats_configure.pl


----- AWStats awstats_configure 1.0 (build 1.8) (c) Laurent Destailleur -----

This tool will help you to configure AWStats to analyze statistics for

one web server. You can try to use it to let it do all that is possible

in AWStats setup, however following the step by step manual setup

documentation (docs/index.html) is often a better idea. Above all if:

- You are not an administrator user,

- You want to analyze downloaded log files without web server,

- You want to analyze mail or ftp log files instead of web log files,

- You need to analyze load balanced servers log files,

- You want to ‘understand‘ all possible ways to use AWStats...

Read the AWStats documentation (docs/index.html)

-----> Running OS detected: Linux, BSD or Unix  --选项linux系统

-----> Check for web server install  --安装webserver(apache)

Enter full config file path of your Web server.

Example: /etc/httpd/httpd.conf

Example: /usr/local/apache2/conf/httpd.conf

Example: c:\Program files\apache group\apache\conf\httpd.conf

Config file path (‘none‘ to skip web server setup):

> /etc/httpd/conf/httpd.conf --指定apache的主配置文件

-----> Check and complete web server config file ‘/etc/httpd/conf/httpd.conf‘ --检测httpd配置文件是否加载参数

  Add ‘Alias /awstatsclasses "/usr/local/awstats/wwwroot/classes/"‘

  Add ‘Alias /awstatscss "/usr/local/awstats/wwwroot/css/"‘

  Add ‘Alias /awstatsicons "/usr/local/awstats/wwwroot/icon/"‘

  Add ‘ScriptAlias /awstats/ "/usr/local/awstats/wwwroot/cgi-bin/"‘

  Add ‘<Directory>‘ directive

  AWStats directives added to Apache config file.

 

-----> Update model config file ‘/usr/local/awstats/wwwroot/cgi-bin/awstats.model.conf‘  --更新模板

  File awstats.model.conf updated.

 

-----> Need to create a new config file ?  --新建一个新的配置文件

Do you want me to build a new AWStats config/profile

file (required if first install) [y/N] ? y

-----> Define config file name to create

What is the name of your web site or profile analysis ?

Example: www.mysite.com

Example: demo

Your web site, virtual server or profile name:

> www.abc.com  --站点的名称

-----> Define config file path  --新建的配置文件存放路径

In which directory do you plan to store your config file(s) ?

Default: /etc/awstats

Directory path to store config file(s) (Enter for default):

> --回车

-----> Create config file ‘/etc/awstats/awstats.www.abc.com.conf‘  ---生成统计webserver的配置文件

 Config file /etc/awstats/awstats.www.abc.com.conf created.

 

-----> Restart Web server with ‘/sbin/service httpd restart‘  --重启apache

Stopping httpd:                                            [FAILED]

Starting httpd:                                            [  OK  ]


-----> Add update process inside a scheduler

Sorry, configure.pl does not support automatic add to cron yet.

You can do it manually by adding the following command to your cron:

/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.abc.com

Or if you have several config files and prefer having only one command:

/usr/local/awstats/tools/awstats_updateall.pl now

---不支持自动分析日志

--手动通过命令来分析日志 /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.abc.com

 

 

A SIMPLE config file has been created: /etc/awstats/awstats.www.abc.com.conf

You should have a look inside to check and change manually main parameters.

You can then manually update your statistics for ‘www.abc.com‘ with command:

> perl awstats.pl -update -config=www.abc.com

You can also read your statistics for ‘www.abc.com‘ with URL:

> http://localhost/awstats/awstats.pl?config=www.abc.com

 

Press ENTER to finish...

 

--一个简单的模板生成/etc/awstats/awstats.www.abc.com.conf

--手动分析日志 perl awstats.pl -update -config=www.abc.com

--如何访问数据 http://localhost/awstats/awstats.pl?config=www.abc.com

 

 

 

3> 设置配置文件参数

[[email protected] awstats]# vim /etc/awstats/awstats.www.abc.com.conf

LogFile="/root/awstats/access_log_new"  --定义旧的日志旧文件

LogType=W  --统计web的访问日志

LogFormat=1  --日志格式 Examples for Apache combined logs

LogSeparator=" "  --日志文件中的分隔符

SiteDomain="www.abc.com" --站点名称

HostAliases="abc.com www.abc.com 127.0.0.1 localhost" --访问主机的别名

DNSLookup=2  ---DNS缓存在/etc/hosts

DirData="/var/lib/awstats"  --分析完日志之后存放的目录

4> 新建存放分析结果的日志目录

[[email protected] awstats]# mkdir -p /var/lib/awstats

5> 使用脚本分析日志

[[email protected] awstats]# /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.abc.com

[[email protected] awstats]# ls /var/lib/awstats/

awstats072013.www.abc.com.txt  awstats092013.www.abc.com.txt  awstats112013.www.abc.com.txt

awstats082013.www.abc.com.txt  awstats102013.www.abc.com.txt

6> 访问

[[email protected] awstats]# echo "192.168.0.1 www.abc.com" >> /etc/hosts

 

测试机

[[email protected] pub]# echo "192.168.0.1 www.abc.com" >> /etc/hosts

http://www.abc.com/awstats/awstats.pl?config=www.abc.com

 

 

++++++++ 2 统计apache的实时的访问日志+++++++++++

1>

定义apache的虚拟主机,将日志格式定义为: combined

 

[[email protected] ~]# vim /etc/httpd/conf.d/www.bcd.conf

NameVirtualHost *:80

<VirtualHost *:80>

    ServerAdmin [email protected]

    DocumentRoot /var/www/html

    ServerName www.bcd.com

    ErrorLog logs/bcd.com-error_log

    CustomLog logs/bcd.com-access_log combined

</VirtualHost>

[[email protected] ~]# service httpd restart

[[email protected] ~]# echo "Test Awstats" > /var/www/html/index.html

2> 定义awstats统计日志的配置文件

[[email protected] ~]# cp /etc/awstats/awstats.www.abc.com.conf /etc/awstats/awstats.www.bcd.com.conf

[[email protected] ~]# vim /etc/awstats/awstats.www.bcd.com.conf

LogFile="/var/log/httpd/bcd.com-access_log"

LogType=W

LogFormat=1

LogSeparator=" "

SiteDomain="www.bcd.com"

HostAliases="bcd.com www.bcd.com 127.0.0.1 localhost"

DNSLookup=2

DirData="/var/lib/awstats/httpd-new"

3> 新建分析结果的数据目录

[[email protected] ~]# mkdir -p /var/lib/awstats/httpd-new

4> 手动分析日志

[[email protected] ~]# /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.bcd.com

5>  定义计划任务 每隔1分钟统计一次

[[email protected] ~]# crontab -eu root

* * * * *  /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.bcd.com

6> 模拟数据

[[email protected] ~]# echo "192.168.0.1 www.bcd.com" >> /etc/hosts

[[email protected] ~]# while true; do elinks -dump http://www.bcd.com &> /dev/null; sleep 1s; done

7> 访问数据

http://www.bcd.com/awstats/awstats.pl?config=www.bcd.com

 

+++++++++++++++ 3 统计ftp的旧日志+++++++++++++++++++++

 

--根据官方手册 定义ftp的配置文件

FAQ and Troubleshooting

|FAQCOM090 Setup for FTP server log files (proftpd, vsftpd, ...).

  |With vsFTPd, or any FTP server that log with xferlog format:

1> Check your server log file format:

--官方的日志格式

Wed Jan 01 19:29:35 2001 1 192.168.1.1 102 /home/file1.txt b _ o r username ftp 0 * c

--本机旧的ftp日志

[[email protected] ~]# head -1 /root/awstats/xferlog.new

Sun Jul  7 15:27:26 2013 1 192.168.0.23 4069 /pub/rhel6/dvd/repodata/repomd.xml b _ o a [email protected] ftp 0 * c

结论:日志一致

2> Then setup AWStats to analyze the FTP log file:

 

[[email protected] ~]# vim /etc/awstats/awstats.ftp.abc.com.conf

LogFile="/root/awstats/xferlog.new"

LogType=F

LogFormat="%time3 %other %host %bytesd %url %other %other %method %other %logname %other %code %other %other"

LogSeparator="\s"

SiteDomain="ftp.abc.com"

DNSLookup=2

DirData="/var/lib/awstats/vsftpd-old"

NotPageList=""

LevelForBrowsersDetection=0

LevelForOSDetection=0

LevelForRefererAnalyze=0

LevelForRobotsDetection=0

LevelForWormsDetection=0

LevelForSearchEnginesDetection=0

ShowLinksOnUrl=0

ShowMenu=1

ShowSummary=UVHB

ShowMonthStats=UVHB

ShowDaysOfMonthStats=HB

ShowDaysOfWeekStats=HB

ShowHoursStats=HB

ShowDomainsStats=HB

ShowHostsStats=HBL

ShowAuthenticatedUsers=HBL

ShowRobotsStats=0

ShowEMailSenders=0

ShowEMailReceivers=0

ShowSessionsStats=1

ShowPagesStats=PBEX

ShowFileTypesStats=HB

ShowFileSizesStats=0

ShowBrowsersStats=0

ShowOSStats=0

ShowOriginStats=0

ShowKeyphrasesStats=0

ShowKeywordsStats=0

ShowMiscStats=0

ShowHTTPErrorsStats=0

ShowSMTPErrorsStats=0

 

 

3> 新建分析结果的数据目录

 

[[email protected] ~]# mkdir -p /var/lib/awstats/vsftpd-old

4> 手动分析日志

[[email protected] ~]# /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=ftp.abc.com

5> 访问

echo "192.168.0.1 ftp.abc.com" >> /etc/hosts

http://ftp.abc.com/awstats/awstats.pl?config=ftp.abc.com

 

 

练习   统计ftp的实时日志<上传与下载的日志>   

xferlog.log

 

scp做不到保留文件属性,无法只同步差异文件,是一个覆盖行操作

 

rsync作用:

1、同步文件(只同步有差异的文件列表)

2、异地备份

3、触发型的更新:sersync+rsync

用于 rsync 在远程多台主机间作文件同步 (走的是ssh通道,或者走自己的daemon通道)

 

server1<---------->server2

server1同步一个文件列表(10个文件)至server2

 

rsync同步文件的原理:

1、在server1上扫描10个文件,并且得到一个md5/sha1检验值列表

2、在远程机器server2,也扫描对应列表,到这步我们就有了两个列表(检验)

3、作为同步的客户去对比这两个列表,如果有差异的文件是需要同步,如果无差异表示源目录的文件是一致,所以不需要同步

 

最常见的包括两种服务实现方式:


server1(rsync+ssh)<-----ssh----->server2(sshd)

server1(rsync)<------------rsync--->server2(rsyncd)

 

1、基于远程shell 的程序,如OpenSSH,加密通道(慢),这是我们用得最多的文件同步方式,因为方便且安全

2rsync 程序自身的“daemon”服务器模式,明文通道(快)。(客户端与服务端共同体的软件)

 

 

ssh:

 192.168.0.15<-->192.168.0.254(SSHD)

rsync [OPTION]... SRC [SRC]... [[email protected]]HOST:DEST

# rsync -avz [email protected]:/var/www/html/ /tmp/

daemon

 192.168.0.15<-->192.168.0.254(rsyncd)

rsync [OPTION]... SRC [SRC]... rsync://[[email protected]]HOST[:PORT]/DEST

# rsync -avz [email protected]::webroot /tmp/  两个冒号

# rsync -avz rsync://[email protected]/webroot /tmp/

 

sync是一个客户端/服务器同体一个软件:

# rsync --help--客户端模式

# rsync --daemon --help--服务器模式


以下列出rsync作为客户端时几个较常用的命令选项及其含义:

 -a 使用归档(archive)模式,保留文件原有的权限、属性、属主等信息,等同于使用“-rlptgoD”等多个选项的组合

 -l 符号()连接文件仍然复制为符号连接

 -H 保留硬连接文件

 -r 递归模式,包含目录及子目录中所有文件

 -v 显示同步过程的详细(verbose)信息

 -z 在传输文件时进行压缩(gzip compress

 -o 保留文件的属主标记(仅超级用户使用)

 -g 保留文件的属组标记(仅超级用户使用)

 -t 保留文件的时间标记

 -p 保留文件的权限标记

 -D 保留设备文件及其他特殊文件

 -R 保留原来绝对路径

 --delete

1)--deletersync daemon是一定能够成功的,而SSH通道不一定成功

2)作用:删除发送端没有而源端有的,保证接收端跟发送端文件是一致的

 --checksum 根据校验和来决定是否跳过文件(而不是根据文件大小、修改时间)

 

 

ssh通道

 

[[email protected] hugo]# rsync -avzR /hugo/  192.168.0.2:/   ---绝对路径

[[email protected] hugo]# rsync -avz /hugo/file1  192.168.0.2:/hugo/  --相对路径

 

实例 daemon通道

 

 rsync-server(192.168.0.1) ----rsync-c1(192.168.0.2)

 

 

[[email protected] ~]# man rsync --客户端参数

[[email protected] ~]# man 5 rsyncd.conf  --服务端参数

 

  1 定义主配置文件

 --新建共享目录

[[email protected] ~]# mkdir /webserver

[[email protected] ~]# chown nobody.nobody /webserver/

[[email protected] ~]# cp /etc/*.conf /webserver/

 

[[email protected] ~]# vim /etc/rsyncd.conf

uid=nobody  --以匿名用户身份

gid=nobody

use chroot=yes  --禁锢家目录

address=192.168.0.1  --监听本机网卡

port 873  --端口号

log file=/var/log/rsyncd.log  --日志

pid file=/var/run/rsyncd.pid  --pid文件

hosts allow=192.168.0.0/24   --允许那个网段

 

[webdata]  --共享名

  path=/webserver  --真实共享目录

  comment=web root share with rsync  ---描述

  read only=no  --可读写

  dont compress=*.gz *.bz2 *.tgz *.rar *.zip  --不压缩那些文件

  auth users=user01 user02  --rsync的用户

  secrets file=/etc/rsyncd_user.db --存放张号与密码

 

 

 2   设置帐号与密码

[[email protected] ~]# vim /etc/rsyncd_user.db

user01:123

user02:456

[[email protected] ~]# chmod 600  /etc/rsyncd_user.db

 

3.启动rsync(任选其中一种):

 

 第一种办法(依赖方式):

[[email protected] ~]# yum -y install xinetd

[[email protected] ~]# chkconfig rsync on

[[email protected] ~]# chkconfig xinetd on

[[email protected] ~]# service xinetd start

[[email protected] ~]# netstat -tnlp |grep :873

[[email protected] ~]# service xinetd stop

 

 第二种方法(独立方式):

[[email protected] ~]# rsync --daemon

[[email protected] ~]# netstat -tnlp |grep :873

tcp        0      0 192.168.0.1:873             0.0.0.0:*                   LISTEN      7535/rsync  

[[email protected] ~]# echo "rsync --daemon" >> /etc/rc.local

 

4  测试

 rsync [OPTION]... [[email protected]]HOST::SRC [DEST]

 

[[email protected] ~]# rsync -avzR [email protected]::webdata /tmp/

 

[[email protected] ~]# mkdir /webserver

[[email protected] ~]# rsync --delete -avzR [email protected]::webdata /webserver/

 

 rsync [OPTION]... rsync://[[email protected]]HOST[:PORT]/SRC [DEST]以上是关于project03日志分析工具AWStats的主要内容,如果未能解决你的问题,请参考以下文章

Apache日志分析工具awstats配置

Linux日志分析工具之AWStats

AWStats日志分析工具

WEB日志分析工具(Webslizer和AWstats)

AWStats 日志分析(附源码包)

awstats 日志分析工具linux下的安装和使用