Apache日志分割&日志分析
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache日志分割&日志分析相关的知识,希望对你有一定的参考价值。
Apache日志分割
随着网站的访问量越来越大,默认情况下Apache服务器产生的单个日志文件也会越来越大,如果不采用日志分割,当日志文件不断增大时,当占用太大的磁盘空间时将会被系统删除,而且随着日志文件的增大,对于管理员对Apache服务器进行访问分析、网络安全监察、网络运行状况监控等操作带来较大难度,因此管理这些海量日志对网站的意义重大。
实验描述:
- 完成对Apache的日志分割
- 本实验采用Apache2.2版本
- 服务器IP:192.168.100.107
- 所需服务:httpd、DNS
- 服务器系统Redhat6.5版本
服务部署
rpm -q httpd //检查Apache是否安装和安装版本
rpm -q bind //检查DNS服务是否安装
service iptables stop
setenforce 01、配置DNS服务
详细可参见可参见:DNS域名解析服务配置
rpm -ivh /mnt/Packages/bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm //首先安装DNS域名解析服务
vim /etc/named.conf //配置域名解析主配置文件
options {
listen-on port 53 { 192.168.100.107; }; //监听端口主机IP
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { any; }; //允许任意网段主机都可解析
recursion yes;
vim /etc/named.rfc1912.zones //编辑区域配置文件
zone "yun.com" IN {
type master;
file "yun.com.zone";
allow-update { none; };
};
cd /var/named //切换到区域数据配置目录下
cp -p named.localhost yun.com.zone //复制区域数据配置文件模板
vim yun.com.zone //配置区域数据配置文件
$TTL 1D
@ IN SOA @ admin. ( //修改管理员邮箱
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 127.0.0.1
www IN A 192.168.100.107 //设置解析地址
service named start //开启DNS服务
2、配置日志分割
rpm -ivh /mnt/Packages/httpd-2.2.15-29.el6_4.x86_64.rpm // 安装Apache2.2
vim /etc/httpd/conf/httpd.conf //编辑主配置文件
Listen 192.168.100.107:80 //更改监听地址和监听端口
#Listen 80 //注释IPV6的监听
...
ServerName www.yun.com:80 //打开主机域名
vim /etc/httpd/con.d/vhost.conf
写入以下内容:
<VirtualHost *:80> //任意网址的80端口
ServerAdmin [email protected] //管理员邮箱
DocumentRoot "/usr/local/apache/htdocs" //创建Apache域名首页站点
ServerName www.yun.com //访问域名
ErrorLog "|/usr/sbin/rotatelogs -l /usr/local/apache/logs/www.benet.com-error_%Y%m%d.log 86400"
//调用Apache自带日志分割工具rotatelogs
//错误日志
CustomLog "|/usr/sbin/rotatelogs -l /usr/local/apache/logs/www.benet.com-access_%Y%m%d.log 86400" combined
//访问日志,按年月日显示
//注:此处需要制定日志分割的存放位置/usr/local/apache/logs
</VirtualHost>
mkdir -p /usr/local/apache/htdocs //创建站点
echo "this is rotatelogs web" > /usr/local/apache/htdocs/index.html //编辑首页内容
mkdir -p /usr/local/apache/logs //创建日志分割存放目录service httpd start //启动httpd服务
当访问网站页面时:
可以看到/usr/local/apache/logs下生成了日志文件:
当修改服务器系统日期时,再次访问Apache服务网站,则会按日期又生成一份日志文件:
访问日志分析
在httpd的访问日志文件中,记录了大量的客户机访问信息,通过分析这些信息,可以及时了解web站点的访问情况,这里通过安装AWStsts日志分析系统,完成自动化的日志分析与统计工作。
1、部署AWStats分析系统
mount.cifs //192.168.100.3/awstats /opt/abc/
通过共享挂载将awstats软件挂载到/opt/abc下
tar zxvf awstats-7.6.tar.gz -C /opt/ 解压软件包
mv /opt/awstats-7.6 /usr/local/awstats //将软件包重命名到/usr/local/,因为该软件在解压后可直接使用,因此不需要安装
cd /usr/local/awstats/tools //切换到工具目录下./awstats_configure.pl //执行配置文件
Config file path (‘none‘ to skip web server setup):
> /etc/httpd/conf/httpd.conf //输入主配置文件
Your web site, virtual server or profile name:
> www.yun.com //输入域名
//其他全部是y 或者 回车
vim /etc/httpd/conf/httpd.conf //当执行完上面的文件后,再次打开httpd服务主配置文件,发现末尾多了如下内容
<Directory "/usr/local/awstats/wwwroot"> //awstats默认站点
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>
vim /etc/awstats/awstats.www.yun.com.conf //编辑需要统计的网站的配置文件
LogFile="/var/log/httpd/access_log"
//修改访问日志文件位置
//也就是指向日志分割后的日志文件所在位置
DirData="/var/lib/awstats"
//用来指定数据目录,可采用默认,awstats 默认不存在(需要创建)
mkdir -p /var/lib/awstats //创建默认数据目录
service httpd restart //重启httpd服务
在浏览器中访问:
http://www.yun.com/awstats/awstats.pl?config=www.yun.com 即可进入统计页面
cd /usr/local/awstats/tools/
./awstats_updateall.pl now //刷新统计信息2、优化页面地址
按照上述方法,在访问统计页面时输入页面地址过长,也容易出错,因此需要通过对页面地址进行优化,方便管理和访问。
cd /usr/local/apache/htdocs //切换到网页访问默认站点下
vim awb.html //设置统计页面首页
<html>
<head>
<meta http-equiv=refresh content="0;url=http://www.yun.com/awstats/awstats.pl?config=www.yun.com">
</head>
<body></body>
</html>
将统计页面网址替换成www.yun.com/awb.html
crontab -e //使用周期性任务刷新统计信息
*/5 * * * * /usr/local/awstats/tools/awstats_updateall.pl now
//设置每隔五分钟刷新
service httpd restart //重启httpd服务
在浏览器中输入www.yun.com/awb.html即可实现访问
以上是关于Apache日志分割&日志分析的主要内容,如果未能解决你的问题,请参考以下文章
Apache日志分割(rotatelogscronolog)