xian123 发表于 2018-11-17 11:25:57

Apache 配置——日志分割及使用AWStats日志分析

摘要
  在日常使用 Apache 中,我们常常需要对 Apache 进行配置,以达到方便管理的目的,而为了能清楚看到运行中的错误,我们通常会对运行中的日志文件进行分割分析,才能具体“对症下药”。
  今天,我们将具体的来对日志文件进行分割,并使用 AWStats 工具进行日志分析。

实验环境:
  CentOS 7.4.1708:搭建 httpd 服务

一、 Apache 日志分割
  随着网站的访问量越来越大,默认情况下 Apache 服务器产生的单个日志文件也会越来越大,如果不对日志进行分割,那么整个日志文件占用磁盘空间会很大。而这些日志可以进行访问分析、网络安全督察、网络运行状况监控等。另外在服务器遇到故障时,运维人员要打开日志进行分析,打开的过程会消耗很长时间,也会增加处理故障的时间。因此管理好这些海量的日志对网站的意义重大,我们会将 Apache 的日志按每天的日期进行自动分割。


[*]Apache 自带 rotatelogs 分割工具
  在 Apache 中有日志分割工具 rotatelogs ,我们只要添加配置文件来开启即可。


[*]  搭建 httpd 服务:
  

# yum install httpd  


[*]  编辑httpd.conf配置文件:

  vim /etc/httpd/conf/httpd.conf
  Listen 192.168.100.200:80
  #Listen 80
  ServerName www.wzn.com:80


[*]  关闭防火墙,开启服务并尝试访问:
  

systemctl stop firewalld  
setenforce 0
  
systemctl start httpd
  


[*]在 /httpd/conf.d 目录下添加新的配置文件,来对主机进行访问日志和错误日志的分割
  # cd /etc/httpd/conf.d/
  # vim vrotatelogs.conf      //新建conf文件,添加下面的行
        //虚拟主机
  ServerAdmin admin@wzn.cn   //管理员邮箱
  DocumentRoot "/var/www/html/wzn"   //网站根目录
  ServerName www.wzn.com       //服务器名
  ErrorLog "|/usr/sbin/rotatelogs -l /var/www/html/logs/www.wzn.com-error%Y%m%d.log 86400"   //错误日志存放
  CustomLog "|/usr/sbin/rotatelogs -l /var/www/html/logs/www.wzn.com-access%Y%m%d.log 86400" combined   //访问日志存放
  



[*]创建虚拟站点及虚拟站点的日志文件位置:
  # mkdir -p /var/www/html/logs   //创建日志文件位置
  # mkdir -p /var/www/html/wzn      //创建站点
  # echo "This is Rotatelogs" > /var/www/html/wzn/index.html       //创建主页
  # systemctl restart httpd


测试:
  此时我们通过其他 IP 地址段访问网站,并到访问日志存放地查看日志信息,同样的,访问错误日志也会存放到目录下以便于分析。
  

# cd /var/www/html/logs/  
# ls
  
www.wzn.com-access_20180612.log
  
# cat www.wzn.com-access_20180612.log
  
192.168.100.2 - - "GET / HTTP/1.1" 200 29 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko"
  

二、日志分析
  上面我们做了 Apache 网站的日志分割,基于上述,我们来进一步对分割的日志进行日志分析,以便我们日常管理。


[*]  安装 AWStats 软件包:
  从 AWStats 官网下载安装包,解压到 httpd 服务器中的 /usr/local 目录下
  

# wget http://www.awstats.org/files/awstats-7.7.tar.gz  
# tar zxvf awstats-7.7.tar.gz
  
# mv awstats-7.7/ /usr/local/awstas
  


[*]为要统计的站点建立配置文件:  AWStats 系统支持统计多个网站的日志文件,通常我们会以网站名称来区别不同的站点。因此我们要对需要统计的 Web 站点分别建立站点统计配置文件。
  首先切换到 /awstats/tools/ 目录中,执行其中的 awstats_configure.pl 脚本。
  

# cd /usr/local/awstas/tools/  
# ./awstats_configure.pl
  

  之后会进入到一个交互式的配置过程,检查awstats的安装目录、httpd 服务的主配置文件路径、日志记录格式等系统环境,并指示用户指定站点名称、设置配置文件路径。

  

Config file path ('none' to skip web server setup):  
> /etc/httpd/conf/httpd.conf      //输出 httpd.conf 配置文件的路径
  

  
-----> Need to create a new config file ?
  
Do you want me to build a new AWStats config/profile
  
file (required if first install) ? 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.wzn.com       //网站的域名
  


[*]  编辑需要日志分析的网站配置,默认在交互完成后已创建

  # vim /etc/awstats/awstats.www.wzn.com.conf
  //省略部分信息
  LogFile="/var/log/httpd/access_log"       //修改访问日志文件位置
  # mkdir /var/lib/awstats      //创建目录数据
  # systemctl restart httpd


[*]此时可以通过 http://www.wzn.com/awstats/awstats.pl?config=www.wzn.com 访问统计网站查看数据,但是统计的数据并不会自己去更新,需要我们进行计划性任务添加,并设置优化页面方便访问。
  # crontab -e      //计划性任务添加
  /5 */usr/local/awstats/tools/awstats_updateall.pl now      //设置每五分钟自动更新一次
  # cd /var/www/html/
  # vim awb.html   //设置一个网站目录,方便访问统计网站
  
  
  
页: [1]
查看完整版本: Apache 配置——日志分割及使用AWStats日志分析