AWStats日志分析系统
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AWStats日志分析系统相关的知识,希望对你有一定的参考价值。
AWStats 是使用Perl语言开发的一款开源日志分析系统,它不仅可用来分析Apache网站服务器的访问日志,也可用来分析Samba 、Vsftpd、IIS等服务的日志信息。结合crond等计划任务服务,可以对不断增长的日志内容定期进行分析。
在平常的httpd服务器中,记录了大量的客户机访问信息,通过分析这些信息,可以及时了解web站点的访问情况,那么如何在每天或特定的时间段来访问IP数量、点击量最大的页面呢?
这时我们可以通过部署AWStats日志分析系统,以完成自动化的日志分析与统计工作。
功能描述
- 访问量,访问次数,页面浏览量,点击数,数据流量等
- 精确到每月、每日、每小时的数据
- Robots/Spiders的统计
- 访客持续时间
- 访客操作系统浏览器等信息
部署环境:
- redhat6.5系统
- 服务器ip地址192.168.100.66
- 镜像文件挂载至 /mnt
- AWStats软件包百度云
实验目的:
为web站点www.benet.com添加AWStats日志分析系统的过程。
环境部署:
一.部署Apache服务。
1.修改Apache配置文件
[[email protected] ~]# vim /etc/httpd/conf/httpd.conf
Listen 192.168.100.66:80 #135行 监听本机地址
#Listen 80 #136行 注释IPV6的端口
ServerName www.benet.com:80 #276行 开启服务域名改为benet
2.关闭防火墙和selinux,启动服务。
[[email protected] ~]# service iptables stop
[[email protected] ~]# setenforce 0
[[email protected] ~]# service httpd start
3.更改网页首页内容
echo "<h1>hello word</h1>" > /var/www/html/index.html
二.部署DNS正向解析服务
1.安装DNS软件包
[[email protected] ~]# rpm -ivh /mnt/Packages/bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm
2.修改配置文件
[[email protected] ~]# vim /etc/named.conf
10 options {
11 listen-on port 53 { any; }; #监听所有端口
12 listen-on-v6 port 53 { ::1; };
13 directory "/var/named";
14 dump-file "/var/named/data/cache_dump.db";
15 statistics-file "/var/named/data/named_stats.txt";
16 memstatistics-file "/var/named/data/named_mem_stats.txt";
17 allow-query { any; }; #允许解析所有
18 recursion yes;
3.修改区域配置文件
[[email protected] ~]# vim /etc/named.rfc1912.zones
4.复制模版,修改区域数据配置文件
[[email protected] ~]# cd /var/named
[[email protected] named]# cp -p named.localhost benet.com.zone
[[email protected] named]# vim benet.com.zone
5.开启服务
[[email protected] named]# service named start
6.修改DNS客户机配置文件
echo "nameserver 192.168.100.66" > /etc/resolv.conf
7.测试DNS是否解析成功。使用nslookup用于查询DNS的记录,查看域名解析是否正常
nslookup
> www.benet.com
Server: 192.168.100.66
Address: 192.168.100.66#53
Name: www.benet.com
Address: 192.168.100.66
> exit
三、安装AWStats软件包
1.解压软件包,移动文件至/usr/local/awstats目录下
[[email protected] abc]# tar zxvf awstats-7.6.tar.gz -C /opt #软件包解压至/opt
[[email protected] abc]# mv /opt/awstats-7.6/ /usr/local/awstats #移动文件至、usrlocal/awstats目录下,便于管理
2.为要统计的站点www.benet.com建立配置文件,借助于AWStats系统提供的awstats_configure.pl脚本可以简化创建过程。
[[email protected] /]# cd /usr/local/awstats/tools #切换到awstats/tools目录下
[[email protected] tools]# ./awstats_configure.pl #执行其中的脚本
----- AWStats awstats_configure 1.0 (build 20140126) (c) Laurent Destailleur -----
This tool will help you to configure AWStats to analyze statistics for
one web server. You can try to use it to let it do all that is possible
in AWStats setup, however following the step by step manual setup
documentation (docs/index.html) is often a better idea. Above all if:
- You are not an administrator user,
- You want to analyze downloaded log files without web server,
- You want to analyze mail or ftp log files instead of web log files,
- You need to analyze load balanced servers log files,
- You want to ‘understand‘ all possible ways to use AWStats...
Read the AWStats documentation (docs/index.html).
-----> Running OS detected: Linux, BSD or Unix
-----> Check for web server install
Enter full config file path of your Web server.
Example: /etc/httpd/httpd.conf
Example: /usr/local/apache2/conf/httpd.conf
Example: c:Program filesapache groupapacheconfhttpd.conf
Config file path (‘none‘ to skip web server setup):
> /etc/httpd/conf/httpd.conf #填写网站服务器的完整配置文件路径。
-----> Check and complete web server config file ‘/etc/httpd/conf/httpd.conf‘
Add ‘Alias /awstatsclasses "/usr/local/awstats/wwwroot/classes/"‘
Add ‘Alias /awstatscss "/usr/local/awstats/wwwroot/css/"‘
Add ‘Alias /awstatsicons "/usr/local/awstats/wwwroot/icon/"‘
Add ‘ScriptAlias /awstats/ "/usr/local/awstats/wwwroot/cgi-bin/"‘
Add ‘<Directory>‘ directive
AWStats directives added to Apache config file.
-----> Update model config file ‘/usr/local/awstats/wwwroot/cgi-bin/awstats.model.conf‘
File awstats.model.conf updated.
-----> 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 #是否需要创建AWStats的配置文件
-----> 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:
>
Your web site, virtual server or profile name:
> www.benet.com #绑定网站域名,虚拟主机名或者自定义配置名,可以同时支持多个站点进行观测。我这里填写的是www.benet.com
-----> Define config file path
In which directory do you plan to store your config file(s) ?
Default: /etc/awstats
Directory path to store config file(s) (Enter for default):
> #定义配置文件路径,直接点击回车默认是在/etc/awstats目录下
-----> Create config file ‘/etc/awstats/awstats.www.benet.com.conf‘
Config file /etc/awstats/awstats.www.benet.com.conf created.
-----> Restart Web server with ‘/sbin/service httpd restart‘
停止 httpd: [确定]
正在启动 httpd: [确定]
-----> Add update process inside a scheduler
Sorry, configure.pl does not support automatic add to cron yet.
You can do it manually by adding the following command to your cron:
/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.benet.com
Or if you have several config files and prefer having only one command:
/usr/local/awstats/tools/awstats_updateall.pl now
Press ENTER to continue... #直接点击回车跳过
A SIMPLE config file has been created: /etc/awstats/awstats.www.benet.com.conf
You should have a look inside to check and change manually main parameters.
You can then manually update your statistics for ‘www.benet.com‘ with command:
> perl awstats.pl -update -config=www.benet.com
You can also read your statistics for ‘www.benet.com‘ with URL:
> http://localhost/awstats/awstats.pl?config=www.benet.com #访问awstats的URL
Press ENTER to finish... #点击回车结束
3.检查httpd.conf配置文件中是否有了以下信息,不做修改。
[[email protected] tools]# vim /etc/httpd/conf/httpd.conf
4.此时我们可以看到分析文件的配置文件和日志文件目录位置。
[[email protected] httpd]# ls /etc/awstats/
awstats.www.benet.com.conf
[[email protected] httpd]# ls /var/log/httpd/
access_log error_log
5.修改站点统计配置文件。
[[email protected] tools]# vim /etc/awstats/awstats.www.benet.com.conf
LogFile="/var/log/httpd/access_log" #第50行 修改日志文件位置
220 DirData="/var/lib/awstats" #第220行 不做修改 指定数据文件目录。目录默认不存在需要创建,注意路径。
[[email protected] tools]# mkdir /var/lib/awstats #创建awstats目录
6.由于修改过httpd配置文件,重启服务
[[email protected] tools]# service httpd restart
7.此时输入httpd://www.benet.com/awstats/awstats.pl?config www.benet.com 即可看到AWStats日志分析系统的统计页面。
8.使用AWStats提供的awstats_updateall.pl脚本,更新所有站点的日志统计数据。执行该脚本时,系统将会自动分析新增的日志内容,并将分析结果更新到统计数据库中。
[[email protected] tools]# ./awstats_updateall.pl now
9.通过crond服务设置计划任务,一般建议每五分钟执行一次日志分析任务。
[[email protected] tools]# crontab -e
*/5 * * * * /etc/awstats/tools/awstats_updateall.pl now #每5分钟更新一次
10.启动crond服务
[[email protected] tools]# service crond start
11.为了简化操作,可以在Web根目录下建立一个自动跳转的HTML网页。便于访问AWStats日志分析页面。
vim /var/www/html/awb.html
<html>
<head>
<meta http-equiv=refresh content="0;url=http://www.benet.com/awstats/awstats.pl?config=www.benet.com">
</head>
<body></body>
</html>
12.此时就可以使用http://www.benet.com/awb.html直接访问了
13.设置awstats网页访问认证
vim /etc/httpd/conf/httpd.conf
14.重启服务,再次访问,就会发现权限拒绝。
service httpd restart
以上是关于AWStats日志分析系统的主要内容,如果未能解决你的问题,请参考以下文章