官方网站:AWStats is a free powerful and featureful tool that generates advanced web, streaming, ftp or mail server statistics, graphically. This log analyzer works as a CGI or from command line and shows you all possible information your log contains, in few graphical webb pages. It uses a partial information file to be able to process large log files, often and quickly. It can analyze log files from all major server tools like Apache log files (NCSA combined/XLF/ELF log format or common/CLF log format), WebStar, IIS(W3C log format) and a lot of other web, proxy, wap, straming servers, mail servers and some ftp servers.php
Awstats 是一个免费的日志分析工具,用perl开发。能够用于分析各类linux下的应用程序产生的日志,包括 apache/squid/samba/resin/tomcat 等等。在这里,咱们主要用它来分析apache日志。css
统计包括访问,访问者,页面,点击,高峰时间,操做系统,浏览器,搜索引擎,关键字,机器人访问,端开的连接和更多的阻力截图排序。html
Awstats是一个很是简洁并且强大的统计工具。它能够统计您站点的以下信息:mysql
一:访问量,访问次数,页面浏览量,点击数,数据流量等精确到每个月、每日、每小时的数据
二:访问者国家、访问者IP、操做系统、浏览器等
三:Robots/Spiders的统计
四:纺客持续时间
五:对不一样Files type 的统计信息
六:Pages-URL的统计
七:其它信息(搜索关键字等等) linux
访问次数、独特访客人数,nginx
访问时间和上次访问,web
使用者认证、最近认证的访问,sql
每周的高峰时间(页数,点击率,每小时和一周的千字节),数据库
域名/国家的主机访客(页数,点击率,字节,269域名/国家检测, geoip 检测),apache
主机名单,最近访问和未解析的 IP 地址名单
大多数看过的进出页面,
档案类型,
网站压缩统计表(mod_gzip 或者 mod_deflate),
使用的操做系统 (每一个操做系统的页数,点击率 ,字节, 35 OS detected),
使用的浏览器,
机器人访问(检测 319 个机器人),
蠕虫攻击 (5 个蠕虫家族),
搜索引擎,利用关键词检索找到你的地址,
HTTP 协议错误(最近查阅没有找到的页面),
其余基于 URL 的个性报导,连接参数, 涉及综合行销领域目的.
贵网站被加入"最喜好的书签".次数.
屏幕大小(须要在索引页补充一些 HTML 标签).
浏览器的支持比例: Java, Flash, RealG2 reader, Quicktime reader, WMA reader, PDF reader.
负载平衡服务器比率集群报告.
Awstats 的运行须要 perl 环境的支持,从awstats 官方文档来看,它对apache http server 的支持是很是完美的。若是使用的 nginx,要运行awstats有点麻烦。首先nginx对perl 的支持是比较弱的,甚至官方也不建议使用;另外在日志格式上须要修改后才能正常运行。
awstats官方网站: http://awstats.sourceforge.net/
perl官方网站: http://www.perl.com/
awstats项目地址:http://sourceforge.net/projects/awstats/
AWStats的功能不少,我在此主要用它来分析apache服务器的日志。安装使用以前仍是说说大体的工做原理,AWStats提供一系列的perl脚本实现:服务配置,日志读取,报表生成等功能。
而功能实现的具体执行过程是:首先,固然是apache将访问状况记录到日志中,AWStats每次执行更新时读取这些日志,分析日志数据,将结果存储到数据库中,(这个数据库是AWStats自带的【就是一文本文件】,并不须要第三方软件支持。),最后AWStats提供一个cgi程序经过web页面来显示数据库中所统计的数据。
AWStats的工做模式是这样的:
分析日志:运行后将日志统计结果归档到一个AWStats的数据库(纯文本)里;
输出日志:分两种形式
一种是经过cgi程序读取统计结果数据库输出(Linux中);
一种是运行后台脚本将输出导出成静态文件(Windows中);
其余同类日志统计分析工具备:
AWStats
Analog
Webalizer
环境信息约定:
日志文件位置:/usr/local/apache/logs
系统:CentOS6.5 X64
awstats安装位置:/usr/local/awstats
JAWStats安装位置:/htdoc/stats/
这里咱们配置的站点域名:www.test.com
WEB服务器:Apache 2.2
静态页面文件输出路径:/usr/local/apache/data(可选)
Requirements:
To use AWStats, you need the following requirements:
Your server must log web access in a log file you can read.
You must be able to run perl scripts(.pl files) from command line and / or as CGI(Perl 5.007003 or higher required to run AWStats 6.9 or higher)
If not, you can solve this by downloading last Perl version at ActivePerl (Win32) or Perl.com(Unix/Linux/Other)
一、安装 perl
awstats 是由 perl 语言编写的,无论是在Windows仍是Linux下,都须要安装perl。因此要首先准备好 perl 环境,一般linux系统都是自带了perl的。
二、下载 awstats 工具(Last stable version is 7.4),并解压至常规目录 /usr/local
三、安装 awstats
因为 wget 下来的包文件的权限是非 root用户的,因此须要修改权限,不然稍后 *.pl 没法运行。
Awstats 会自动检测httpd.conf 配置文件,并在其配置文件末尾添加以下语句:
awstat 目录:
安装目录: /usr/local/awstats
配置文件: /etc/awstats
数据文件: /var/lib/awstats
三、查看awstats配置文件
awstats_configure.pl 还将根据安装过程当中您的回答(要分析的网站域名)信息,生成配置文件。结束这个向导之后,咱们对www.test.com站点的awstats配置文件已经配置好了。下面咱们来查看并修改一下这个配置文件。
接下来,编辑配置文件,AWStats 支持针对多个子域名生成分析日志,主要修改如下几行:
LogFile 指明apache的access log所在,这里也可使用变量,例如:LogFile="/data/log/imysql.cn-access_log.%YY-24%MM-24%DD",具体的请查看 相关文档。
LogFormat 表示日志格式,我在apache的日志格式中,采用 combined,所以这里写成4。若是apache里设置的是 common,则在这里写 2,具体的对应关系能够看 Awstats文档。
SiteDomain 要分析的域名
DirData 分析结果存放位置(awstas数据库)
若是apache 进行了日志切割, 这里须要随机应变
在上面的咱们讲解了awstats的yum安装与源码安装,同时配置了一个监控实例,下面咱们就执行一下这个监控实例www.test.com。
一、更新awasts数据库
如今咱们须要用awstats来生成对apache日志的统计分析信息。因为咱们用的awstats是支持perl的FCGI动态化访问页面,因此此处咱们只须要直接更新数据库便可。FCGI程序会自动将数据库以动态页面的形式展示出来,无须再手动生成静态页面了。
接下来咱们来查看一下分析结果
若是还想经过web server查看分析结果,就须要让web server支持cgi才行了。在这里,我使用apache做为web server,所以我在编译apache时,加上了选项:--enable-cgi。
LoadModule cgid_module modules/mod_cgid.so
注意cgi脚本的执行权限,必定要apache用户拥有执行权限,不然可能提示Server Internal 错误。
注,若是,你顺利的执行了上面的全部操做。那么OK,如今你已经能够经过访问:http://localhost/awstats/awstats.pl?config=www.test.com ,效果以下图:
cron更新数据库
因为要获得新的统计信息,就必须更新数据库,也就是说从新作读取日志。分析日志提取里面新增的部分进行分析,将更新的数据存入数据库的过程。最好就让它定时执行。
最后须要说明的是,在文中已经屡次提到过,要能反应最新信息就必须更新数据库。也就是说你可能已经对它进行了屡次访问,可是查看统计页面发现没变化。这是由于这些日志尚未更新到数据库.简单的方法就是定时执行。
假设我有两个站点:
mail.test.com
配置多站点监控(也就是配置 多个awstats 配置文件便可。分析多个域名的日志,就是把 awstats_configure.pl 多操做几回)
注,配置 mail.test.com的 配置文件,其实步骤和上面www.test.com同样,只是在域名的地方作更改便可。下面咱们就再来演示一下,
好了,下面步骤和上面www.test.com配置步骤同样,我这里就不重复说明。
一、IP 地址国家、区域显示问题
Awstats默认安装以后是不具备识别访问者的国家和地区信息的,因此须要安装插件支持Awstats列出访问者的国家和地区,便于分析GeoIP免费的是国家/IP的数据表,GeoIPCityLite是地区的数据表。
(1).MaxMind目前免费提供了GeoIP 和GeoIPCityLite 数据包:能够按期每月从如下地址下载
二、中文乱码问题
Awstats是一套很是好用的免费的日志分析软件,他是用perl实现的,支持web log、ftp log和mail log;并且它还能自动根据你浏览器的字符设置来选取语言(支持中文)。可是缺省安装的话有个问题,就是用来搜索的关键字若是是中文的话显示出来是乱码的。 之因此搜索的关键字句会变成乱码的缘由,主要是由于如今的搜索引擎都是使用UTF8,而Awstats是使用decodeUTFkeys这个plugin来处理搜索引擎的UTF8关键字,默认是没有打开的,因此在显示上会出现乱码。要解决中文乱码问题,方法也很简单,
在配置文件中把decodeutfkeys这个plugin打开就能够了。在配置文件中找到:
#LoadPlugin="decodeutfkeys"
去掉前面的#就能够了。
这样咱们的中文显示就完成了,可是打开LoadPlugin="decodeutfkeys"这个插件在一些机器上会报错,下面咱们来演示一下报错的状况。
从上面的报错能够看出这是缺乏 Perl 的 URI:Escape模块,下面咱们解决一下这个问题:
AWStats是在Sourceforge上发展很快的一个基于Perl的WEB日志分析工具。相对于另一个很是优秀的开放源代码的日志分析工具Webalizer,AWStats的优点在于:
1.界面友好:能够根据浏览器直接调用相应语言界面(有简体中文版)
2.基于Perl:而且很好的解决了跨平台问题,系统自己能够运行在GNU/Linux上或Windows上(安装了ActivePerl后);分析的日志直接支持Apache格式 (combined)和IIS格式(须要修改)。Webalizer虽然也有Windows平台版,但目前已经缺少 维护;AWStats彻底能够实现用一套系统完成对自身站点不一样WEB服务器:GNU/Linux/Apache和Windows/IIS服务器的统一统计。
3.效率比较高:AWStats输出统计项目比Webalizer丰富了不少,速度仍能够达到Webalizer的1/3左右,对于一个日访问量 百万级的站点,这个速度都是足够的;
4.配置/定制方便:系统提供了足够灵活但缺省也很合理的配置规则,须要修改的缺省配置不超过3,4项就能够开始运行,并且修改和扩展的插件仍是 比较多的;
5.AWStats的设计者是面向精确的"Human visits"设计的,所以不少搜索引擎的机器人访问都被过滤掉了,所以有可能比其余日志统计工具统计的数字要低,来自公司内部的访问也能够经过IP过滤 设置过滤掉。
6.提供了不少扩展的参数统计功能:使用ExtraXXXX系列配置生成针对具体应用的参数分析会对产品分析很是有用。
AWStats 是一个免费的强大而有个性的工具,带来先进的网络,流量,FTP或邮件服务器统计图. 本日志分析器做为CGI或从命令行在数个图形网页中显示你日志中包含的全部可能信息. 它利用一部分档案资料就能常常很快地处理大量日志档案, 它能分析日志文件来自从各大服务器工具 ,如 Apache日志档案 s (NCSA combined/XLF/ELF log format or common/CLF log format), WebStar, IIS (W3C的日志格式)及许多其余网站,Proxy(代理服务器)、Wap、流量服务器、邮件服务器和一些 FTP服务器。
看一看这个比较表在最著名统计工具 (AWStats, Analog, Webalizer,...)之间有何特色和不一样的想法。AWStats 是一个在GNU通用公共许可证下发行的免费软件. 你能够看看这个许可证图表而知道你能够/不能够作。因为AWStats工程来自网上信息,但也做为CGI、 它能够与容许进入Perl、CGI与日志的大型网站主办提供商一块儿工做。
http://www.cnblogs.com/fnng/archive/2012/08/31/2666175.html
http://freeloda.blog.51cto.com/2033581/1346412
http://zzxtbl.blog.51cto.com/7620672/1650825
一、安装环境
windows Server 2008 R2
apache 2.2
awstats版本为7.3
Windows系统下配置 apache 日志切割方法:
A、使用 cronolog 日志轮转工具
从 http://cronolog.org/download/ 能够下载 cronolog程序, 把下载的 cronolog程序放到 apache 的bin 目录下(详细参数参加: http://cronolog.org/usage.html)
B、使用 rotatelogs 程序
rotatelogs 是 apache 自带的管道日志程序,参数以下(参考:http://lamp.linux.gov.cn/Apache/ApacheMenu/programs/rotatelogs.html )
2、安装备忘
一、注意:因为awstats依赖于perl,因此提早安装perl环境
下载perl: http://www.activestate.com/activeperl/downloads
或者直接在百度搜索下载: activeperl
根据本身的环境选择不一样的安装包,一般下载 ActivePerl_5.x.msi 可执行程序,而后安装
二、配置 apache 支持 perl (CGI)
三、解压AWStats
下载AWStats(国内环境的话,须要自带工具)
http://sourceforge.net/projects/awstats
自行选择须要解压的路径
四、设置配置文件
定位到awstats-7.3\tools下,执行 awstats_configure 文件,这个文件的主要功能就是设置WEB容器的路径,log路径等。
配置完后,APACHE的 httpd.conf 下会生成相似一下的内容
同时在awstats-7.3\wwwroot\cgi-bin文件夹下会生成一个 awstats.domain.com.conf 文件
四、修改配置文件
五、生成数据
六、修改awstats文件
七、浏览器打开
在浏览器中输入相似的地址 http://localhsot/awstats/awstats.pl?config=domain.com,正常状况下便可看到结果
高级配置
一、增长一个显示来访IP归属地的功能
执行以下命令
ppm install Geo::IP::PurePerl
ppm install Geography::Countries
ppm install IP::Country
ppm install Geo-IPfree
ppm install Net-Xwhois
安装GeoIP
http://dev.maxmind.com/geoip/legacy/geolite/
修改awstats.domain.com.conf文件,找到以下内容
# 开启 GeoIP 反查模块
LoadPlugin="geoip GEOIP_STANDARD D:/awstats/awstats-x.x/wwwroot/cgi-bin/ipdata/GeoIP.dat"
# 开启 IP 反查的外挂
LoadPlugin="geoipfree"
# 开启 decodeutfkeys 外挂,解决”用以搜索的关键词”乱码
LoadPlugin="decodeutfkeys"
更新配置文件
perl.exe awstats.pl -config=domain.com -update
二、按期更新
经过win的计划任务搞定
三、加一个须要用户名才能够访问的功能
因为要求在内网访问,因此没有涉及
参考阅读:
http://luestudy.blog.51cto.com/8480481/1395362
http://blog.chinaunix.net/uid-7354272-id-2643593.html
怎样在windows下安装Perl
http://jingyan.baidu.com/article/380abd0aa6c7371d90192c1b.html
awstats 分析 nginx 日志
一、安装nginx 以及 awstats 的过程就不讲解了, 能够参考上面的内容。
二、本文主要介绍经过让 awstats 对日志统计的结果生成静态页面,而后经过 Nginx 输出以达到统计 Nginx 访问日志的效果,其中还包括如何让 Nginx 自动切割日志文件。对于nginx的日志,个人作法是按天切割。
跟 Apache HTTP Server(如下称 Apache)不一样的是,Apache 能够将日志输出经过管道的方式进行从新定向,依此来进行自动的日志切割。Nginx 在现今版本上还没能跟 Apache 同样,经过%YY等参数按日期分批建立日志,可是经过给 nginx 进程发送一个特定的信号,可使 nginx 从新生成日志文件。咱们能够按期执行一个 Shell 脚原本切换日志,从新命名或转移,具体的脚本以下:
将以上脚本内容保存为文件名为 logcron.sh 存到自定的目录中,例如 /opt/nginx/sbin/logcron.sh
使用 Crontab 让该脚本程序在天天晚上 11 点 59 分自动执行,便可作到按天建立日志。
须要注意的是,nginx的日志应该遵循如下格式,才能够被awstats识别,如定义日志格式
执行 tools 目录中的 awstats_configure.pl 配置向导,建立一个新的统计。
以上步骤默认会产生配置文件 ==>> /etc/awstats/awstats.slog.fity.cn.conf
awstats 配置文件的命名规则:awstats.website.conf
修改配置文件
用浏览器查看到统计的详细结果 http://youhostname/awstats/awstats.www.slog.fity.cn.html
至此,使用 awstats 已能彻底支持 Nginx 的日志统计。
认证访问
通常站长都不肯随便让人知道本身站的真实流量,因此要把 Awstats 统计结果页面进行密码保护。Nginx 使用的是跟 Apache 同样的密码加密格式,这里须要用到 apache 自带的工具 htpasswd。
若是你在本机上默认装有 Apache,这你就只需在它的程序目录下运行
# /usr/bin/htpasswd -c /usr/local/nginx/passwd admin #用户名为admin New password: 输入密码 Re-type new password: 重复输入 Adding password for user admin 建立成功 修改 nginx.conf 在 location 中加入(加粗部分): server { listen 80; server_name localhost; location ~ ^/awstats/ { # awstats 静态页面目录 root /usr/local/nginx/html; # 靠, 不是 /usr/local/nginx/html/awstats 坑了很久 autoindex on; #能够目录浏览你的多个域名的目录用于分析 index index.html; access_log off; error_log off; auth_basic "secret"; #虚拟主机认证命名 auth_basic_user_file /usr/local/nginx/passwd.db; #虚拟主机用户名密码认证数据库 } location ~ ^/icon/ { # 图标目录 root /usr/local/awstats/wwwroot; index index.html; access_log off; error_log off; } } 而后,从新启动一下 nginx
若是你想给你的awstats加上访问密码,能够见这里:nginx为目录或网站加上密码认证
问题汇总
当再次输入网址时,在页面上只出现了一行字:
Content-type: text/html; charset=gb2312 Cache-Control: public Last-Modified: Sat Feb 11 13:14:37 2016 Expires: Sat Feb 11 13:14:37 2016
若是出现,是由于浏览器不支持frame(彷佛是服务器端问题),请在页面上右键选择查看源文件,有这样一行字:Your browser does not support frames.You must set AWStats UseFramesWhenCGI parameter to 0 to see your reports.
好,如今去修改awstats.conf 配置文件,把UseFramesWhenCGI参数设成0。
http://www.ibm.com/developerworks/cn/linux/l-cn-awstats-nginx/
http://blog.sina.com.cn/s/blog_8db76d6d0101342m.html
http://lodar.net/methods-of-apache-web-log-daily-rotation/
http://www.linuxde.net/2013/06/14027.html
http://www.cnblogs.com/cocowool/archive/2010/09/07/1820626.html
http://www.cnblogs.com/cocowool/archive/2010/09/10/1823504.html