Linux日志分析系统AWStats分析Nignx日志

一.简述
    AWStats 软件是一个免费的强大的基于Perl的WEB日志分析工具,显示你所有的网页/邮件/ FTP统计包括访问,访问者,页面,点击,高峰时间,操作系统,浏览器,搜索引擎,关键字,机器人访问,断开的链接和更多的阻力截图排序。

(1)功能:它可以统计您站点的如下信息:
一:访问量,访问次数,页面浏览量,点击数,数据流量等
二:精确到每月、每日、每小时的数据
三:访问者国家
四:访问者IP
五:Robots/Spiders的统计
六:访客持续时间
七:对不同Files type 的统计信息
八:Pages-URL的统计
九:访客操作系统浏览器等信息
十:其它信息(搜索关键字等等)

(2)工作原理
工作原理

AWStats的功能很多,我在此主要用它来分析apache服务器的日志。安装使用之前还是说说大致的工作原理,AWStats提供一系列的perl脚本实现:服务配置,日志读取,报表生成等功能。而功能实现的具体执行过程是:首先,当然是apache将访问情况记录到日志中,AWStats每次执行更新时读取这些日志,分析日志数据,将结果存储到数据库中,(这个数据库是AWStats自带的(就是一文本文件),并不需要第三方软件支持。),最后AWStats提供一个cgi程序通过web页面来显示数据库中所统计的数据。
工作模式

AWStats的工作模式是这样的:
分析日志:运行后将这样的日志统计结果归档到一个AWStats的数据库(纯文本)里;
输出日志:分两种形式
一种是通过cgi程序读取统计结果数据库输出(Linux中);

一种是运行后台脚本将输出导出成静态文件(Windows中);

(3)nginx安装配置详解
一.配置nginx日志格式并重新加载nginx,修改nginx.conf的日志格式,不然awstats无法分析。
[root@Monitor server]# vim  /usr/local/nginx/conf/nginx.conf
worker_processes  1;
user appuser appuser;
error_log  /data/nginx/error.log;
events {
    worker_connections  1024;
}
http {
    include      mime.types;
    default_type  application/octet-stream;
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    access_log      /data/nginx/access.log;
[root@Monitor server]# /usr/local/nginx/sbin/nginx -s reload

####注意要点:日志格式里的双引号不能漏了且每个参数之间是一个空格分隔,因为只要有细微的差别,awstats就无法读取日志

二.安装Awstats。
Awstats的安装有两种方式,一种是yum install awstats。二种是去官方网(https://awstats.sourceforge.io)直接下载安装包来进行安装。本文主要的是通过下载安装包进行安装
 (1)通过yum直接进行安装
[root@ittestserver1 opt]# yum install -y awstats
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
epel/metalink                                                                    | 6.0 kB    00:00     
 * base: mirrors.163.com
 * epel: mirror.premi.st
 * extras: mirrors.zju.edu.cn
 * updates: mirrors.163.com
base                                                                              | 3.7 kB    00:00     
epel                                                                              | 4.3 kB    00:00     
epel/primary_db                                                                  | 5.9 MB    00:01     
extras                                                                            | 3.4 kB    00:00     
jenkins                                                                          | 2.9 kB    00:00     
jenkins/primary_db                                                                |  21 kB    00:00     
updates                                                                          | 3.4 kB    00:00     
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package awstats.noarch 0:7.0-3.el6 will be installed
--> Processing Dependency: perl(URI::Escape) for package: awstats-7.0-3.el6.noarch
--> Processing Dependency: perl(LWP::UserAgent) for package: awstats-7.0-3.el6.noarch
--> Processing Dependency: perl(HTML::Entities) for package: awstats-7.0-3.el6.noarch
--> Running transaction check
---> Package perl-HTML-Parser.x86_64 0:3.64-2.el6 will be installed
--> Processing Dependency: perl(HTML::Tagset) >= 3.03 for package: perl-HTML-Parser-3.64-2.el6.x86_64
--> Processing Dependency: perl(HTML::Tagset) for package: perl-HTML-Parser-3.64-2.el6.x86_64
---> Package perl-URI.noarch 0:1.40-2.el6 wil
---> Package perl-libs.x86_64 4:5.10.1-141.el6_7.1 will be updated
---> Package perl-libs.x86_64 4:5.10.1-144.el6 will be an update
---> Package perl-version.x86_64 3:0.77-141.el6_7.1 will be updated
---> Package perl-version.x86_64 3:0.77-144.el6 will be an update
--> Finished Dependency Resolution
  Verifying  : 3:perl-version-0.77-141.el6_7.1.x86_64                                              25/29
  Verifying  : 4:perl-libs-5.10.1-141.el6_7.1.x86_64                                              26/29
  Verifying  : perl-ExtUtils-MakeMaker-6.55-141.el6_7.1.x86_64                                    27/29
  Verifying  : 1:perl-ExtUtils-ParseXS-2.2003.0-141.el6_7.1.x86_64                                28/29
  Verifying  : perl-Test-Harness-3.17-141.el6_7.1.x86_64                                          29/29
Installed:
  awstats.noarch 0:7.0-3.el6                                                                             
Dependency Installed:
  perl-Compress-Raw-Zlib.x86_64 1:2.021-144.el6      perl-Compress-Zlib.x86_64 0:2.021-144.el6         
  perl-HTML-Parser.x86_64 0:3.64-2.el6                perl-HTML-Tagset.noarch 0:3.20-4.el6             
  perl-IO-Compress-Base.x86_64 0:2.021-144.el6        perl-IO-Compress-Zlib.x86_64 0:2.021-144.el6     
  perl-URI.noarch 0:1.40-2.el6                        perl-libwww-perl.noarch 0:5.833-5.el6             
Dependency Updated:
  perl.x86_64 4:5.10.1-144.el6                        perl-ExtUtils-MakeMaker.x86_64 0:6.55-144.el6     
  perl-ExtUtils-ParseXS.x86_64 1:2.2003.0-144.el6      perl-Module-Pluggable.x86_64 1:3.90-144.el6       
  perl-Pod-Escapes.x86_64 1:1.04-144.el6              perl-Pod-Simple.x86_64 1:3.13-144.el6             
  perl-Test-Harness.x86_64 0:3.17-144.el6              perl-devel.x86_64 4:5.10.1-144.el6               
  perl-libs.x86_64 4:5.10.1-144.el6                    perl-version.x86_64 3:0.77-144.el6               
Complete!

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/c43c5ef3efd4e05fe210f7cc1629f6d2.html