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

摘要

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

今天,我们将具体的来对日志文件进行分割,并使用 AWStats 工具进行日志分析。

实验环境:

CentOS 7.4.1708:搭建 httpd 服务

一、 Apache 日志分割

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

  • Apache 自带 rotatelogs 分割工具

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

  1. 搭建 httpd 服务:

    [root@CentOS7-1 ~]# yum install httpd
  2. 编辑httpd.conf配置文件:

    vim /etc/httpd/conf/httpd.conf

    Listen 192.168.100.200:80
    #Listen 80

    ServerName www.wzn.com:80

  3. 关闭防火墙,开启服务并尝试访问:

    systemctl stop firewalld
    setenforce 0
    systemctl start httpd
  4. 在 /httpd/conf.d 目录下添加新的配置文件,来对主机进行访问日志和错误日志的分割

[root@CentOS7-1 ~]# cd /etc/httpd/conf.d/
[root@CentOS7-1 ~]# vim vrotatelogs.conf //新建conf文件,添加下面的行

//虚拟主机
ServerAdmin [email protected] //管理员邮箱
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 //访问日志存放

  • 创建虚拟站点及虚拟站点的日志文件位置:

[root@CentOS7-1 ~]# mkdir -p /var/www/html/logs //创建日志文件位置
[root@CentOS7-1 ~]# mkdir -p /var/www/html/wzn //创建站点
[root@CentOS7-1 ~]# echo "

This is Rotatelogs

" > /var/www/html/wzn/index.html //创建主页
[root@CentOS7-1 ~]# systemctl restart httpd

测试:

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

[root@CentOS7-1 ~]# cd /var/www/html/logs/
[root@CentOS7-1 logs]# ls
www.wzn.com-access_20180612.log
[root@CentOS7-1 logs]# cat www.wzn.com-access_20180612.log 
192.168.100.2 - - [12/Jun/2018:14:33:17 +0800] "GET / HTTP/1.1" 200 29 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko"

二、日志分析

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

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

    [root@CentOS7-1 ~]# wget http://www.awstats.org/files/awstats-7.7.tar.gz
    [root@CentOS7-1 ~]# tar zxvf awstats-7.7.tar.gz
    [root@CentOS7-1 ~]# mv awstats-7.7/ /usr/local/awstas
  2. 为要统计的站点建立配置文件:
    AWStats 系统支持统计多个网站的日志文件,通常我们会以网站名称来区别不同的站点。因此我们要对需要统计的 Web 站点分别建立站点统计配置文件。
    首先切换到 /awstats/tools/ 目录中,执行其中的 awstats_configure.pl 脚本。
    [root@CentOS7-1 ~]# cd /usr/local/awstas/tools/
    [root@CentOS7-1 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/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.wzn.com       //网站的域名
  1. 编辑需要日志分析的网站配置,默认在交互完成后已创建

    [root@CentOS7-1 tools]# vim /etc/awstats/awstats.www.wzn.com.conf
    //省略部分信息
    LogFile="/var/log/httpd/access_log" //修改访问日志文件位置

    [root@CentOS7-1 httpd]# mkdir /var/lib/awstats //创建目录数据
    [root@CentOS7-1 httpd]# systemctl restart httpd

  2. 此时可以通过 http://www.wzn.com/awstats/awstats.pl?config=www.wzn.com 访问统计网站查看数据,但是统计的数据并不会自己去更新,需要我们进行计划性任务添加,并设置优化页面方便访问。

[root@server1 tools]# crontab -e //计划性任务添加

/5 * /usr/local/awstats/tools/awstats_updateall.pl now //设置每五分钟自动更新一次
[root@server1 tools]# cd /var/www/html/
[root@server1 html]# vim awb.html //设置一个网站目录,方便访问统计网站





测试

此时通过 http://www.wzn.com/awb.html 即可访问统计网站。

转载于:https://blog.51cto.com/13625676/2128546

你可能感兴趣的:(Apache 配置——日志分割及使用AWStats日志分析)