在平常使用 Apache 中,咱们经常须要对 Apache 进行配置,以达到方便管理的目的,而为了能清楚看到运行中的错误,咱们一般会对运行中的日志文件进行分割分析,才能具体“对症下药”。html
今天,咱们将具体的来对日志文件进行分割,并使用 AWStats 工具进行日志分析。web
CentOS 7.4.1708:搭建 httpd 服务vim
随着网站的访问量愈来愈大,默认状况下 Apache 服务器产生的单个日志文件也会愈来愈大,若是不对日志进行分割,那么整个日志文件占用磁盘空间会很大。而这些日志能够进行访问分析、网络安全督察、网络运行情况监控等。另外在服务器遇到故障时,运维人员要打开日志进行分析,打开的过程会消耗很长时间,也会增长处理故障的时间。所以管理好这些海量的日志对网站的意义重大,咱们会将 Apache 的日志按天天的日期进行自动分割。安全
在 Apache 中有日志分割工具 rotatelogs ,咱们只要添加配置文件来开启便可。服务器
搭建 httpd 服务:网络
[root@CentOS7-1 ~]# yum install httpd
编辑httpd.conf配置文件:运维
vim /etc/httpd/conf/httpd.confide
Listen 192.168.100.200:80
#Listen 80工具ServerName www.wzn.com:80测试
关闭防火墙,开启服务并尝试访问:
systemctl stop firewalld setenforce 0 systemctl start httpd
[root@CentOS7-1 ~]# cd /etc/httpd/conf.d/
[root@CentOS7-1 ~]# vim vrotatelogs.conf //新建conf文件,添加下面的行<VirtualHost *:80> //虚拟主机
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 //访问日志存放
</VirtualHost>
[root@CentOS7-1 ~]# mkdir -p /var/www/html/logs //建立日志文件位置
[root@CentOS7-1 ~]# mkdir -p /var/www/html/wzn //建立站点
[root@CentOS7-1 ~]# echo "<h1>This is Rotatelogs</h1>" > /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 网站的日志分割,基于上述,咱们来进一步对分割的日志进行日志分析,以便咱们平常管理。
安装 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
[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 //网站的域名
编辑须要日志分析的网站配置,默认在交互完成后已建立
[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
[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 //设置一个网站目录,方便访问统计网站<html>
<head>
<meta http-equiv=refresh content="0;url=http://www.wzn.com/awstats/awstats.pl?config=www.wzn.com">;
</head>
<body></body>
</html>
此时经过 http://www.wzn.com/awb.html 便可访问统计网站。