博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在httpd服务器(httpd-2.4)中搭建AWStats日志分析系统
阅读量:7099 次
发布时间:2019-06-28

本文共 3349 字,大约阅读时间需要 11 分钟。

AWStats简介:

AWStats是使用Perl语言开发的一款开源日志分析系统。它不仅可以用来分析Apache网站服务器的访问日志,也可以用来分析Samba、Vsftpd、IIS等服务的日志文件。结合crond等计划任务服务,可以对不断增长的日志内容定期进行分析。

AWStats提供一系列的perl脚本实现:服务配置,日志读取,报表生成等功能。而功能实现的过程是:

  • 将apache的访问情况记录到日志中,AWStats每次执行更新时读取这些日志
  • 分析日志数据,将结果存储到数据库中
  • AWStats提供一个cgi程序通过web页面来显示数据库中所统计的数据。

    实验环境

  • 系统:CentOS-7-x86_64
  • Apache服务器:Apache/2.4.6
  • 网站域名:www.benet.com
  • 源码包:
  • DNS服务器

软件包安装

安装perl环境包

CenTos7中软件的安装多使用yum安装,在没有本地yum源的情况下,我们就需要连接到现网,获取在线更新源。但是在实验中我们只需要在本地虚拟机中操作,访问Web网页查看日志分析情况。所以可以先联网安装好实验所需的软件包,然后再将网卡模式更改为仅主机模式,设定静态IP地址,方便实验。

应为awstats是基于perl语言开发的,所以我们首先需要准备perl环境,再centos7系统中会有安装,如果没有,只需要使用yum安装即可,一般即使已经安装了,但会有更新。

perl -version   //检查perl版本号yum -y install perl*   //yum安装即可

安装httpd

httpd的安装也是使用yum安装,当然也是可以选择编译安装。

yum -y install httpd

安装dns服务器

yum -y install bind

安装awstats软件包

AWStats软件包安装非常简单,只需将软件包解压到httpd服务器的/usr/local/下即可。软件包可使用挂载windows共享文件夹的方式。

tar zxf awstats-7.6.tar.gzmv awstats-7.6/ /usr/local/awstats

配置httpd服务器

  • 启动httpd服务
    httpd软件安装完成主配置文件在:/etc/httpd/conf/httpd.conf,对其进行简单配置,包括修改监听地址(Listen 192.168.175.205:80)和服务器名称(ServerName www.benet.com:80)两项。修改完成之后启动服务
    systemctl start httpd.service   //启动服务systemctl status httpd.service  //查看服务状态
  • 在站点目录下创建测试首页。
    cd /var/www/html/echo "HTTPD TEST" > index.html
  • 关闭防火墙
    systemctl disable firewalld.servicesystemctl stop firewalld.servicesetenforce 0
  • 在windows端使用IE浏览器进行访问,测试服务器是否搭建成功
    在httpd服务器(httpd-2.4)中搭建AWStats日志分析系统

    配置DNS服务器

    关于如何搭建DNS服务器,我在之前的文章中有过详细介绍,那篇文中的系统版本是Redhat 6.5,更换了系统,但是搭建方式却没有改变,可以参考,链接奉上

配置AWStats日志分析系统

  • 为要统计的站点建立配置文件
    AWStats系统支持统计多个网站的日志文件,通常以网站名称来区别不同的站点。因此,在执行分析前要为每个Web站点建立站点统计配置文件,借助于AWStats系统提供的awstats_configure.pl 脚本可以简化创建过程。
    cd /usr/local/awstats/tools/perl awstats_configure.pl     //执行脚本创建配置文件
    1. 指定httpd主配置文件路径
      在httpd服务器(httpd-2.4)中搭建AWStats日志分析系统
    2. 为指定Web站点创建配置文件
      在httpd服务器(httpd-2.4)中搭建AWStats日志分析系统
    3. 指定要统计的目标站点名称
      在httpd服务器(httpd-2.4)中搭建AWStats日志分析系统
    4. 日志分析系统Web页面地址
      在httpd服务器(httpd-2.4)中搭建AWStats日志分析系统
    5. 因为在Apache2.4以上的版本中重新定义了访问权限,所需需将在httpd主配置文件中自动生成的awstats访问权限进行简单修改,在配置文件末尾。
      Options NoneAllowOverride NoneOrder allow,denyAllow from allRequire all granted //添加该句
    6. 重启httpd服务
      systemctl restart httpd.service
  • 修改站点统计配置文件
    修改的主要内容包括指定要分析的web站点的日志文件路径和用来存放统计数据的目录
    cd /etc/awstatsvim awstats.www.benet.com.confLogFile="/etc/httpd/logs/access_log"  //50行DirData="/var/lib/awstats"            //220行,该目录实际上没有,需要手动创建mkdir /var/lib/awstats

    执行日志分析

    perl /usr/local/awstats/tools/awstats_updateall.pl nowRunning '"/usr/local/awstats/wwwroot/cgi-bin/awstats.pl" -update -config=www.benet.com -configdir="/etc/awstats"' to update config www.benet.comCreate/Update database for config "/etc/awstats/awstats.www.benet.com.conf" by AWStats version 7.6 (build 20161204)From data in log file "/etc/httpd/logs/access_log"...Phase 1 : First bypass old records, searching new record...Searching new records from beginning of log file...Phase 2 : Now process new records (Flush history on disk after 20000 hosts)...Jumped lines in file: 0Parsed lines in file: 63Found 0 dropped records,Found 0 comments,Found 0 blank records,Found 0 corrupted records,Found 0 old records,Found 63 new qualified records.

    创建计划任务

    crontab -e*/5 * * * *  /usr/local/awstats/tools/awstats_updateall.pl now  //表示每隔五分钟更新systemctl start crond      //启动服务systemctl enable crond     //将服务加入系统启动项/var/spool/mail/root   //执行计划任务会在该目录下有新邮件提醒

    在httpd服务器(httpd-2.4)中搭建AWStats日志分析系统

    访问AWStats日志分析系统

    访问站点” “即可看到AWStats日志分析系统的统计页面

    在httpd服务器(httpd-2.4)中搭建AWStats日志分析系统

    优化网页地址

    不做更改的网页地址过长,不方便记忆,为了简化操作,我们可以在web站点的站点目录下建立一个自动调转的HTML网页。当访问http://www.benet.com/aws.html 即可自动跳转到日志分析系统页面。

    vim /var/www/html/aws.html
    //头部标签中添加网页

转载于:https://blog.51cto.com/13643643/2132082

你可能感兴趣的文章
将WPF UI单元复制到“.NET研究”剪贴板
查看>>
USB Blaster驱动无法安装的解决办法
查看>>
ibatis sqlMap.xml 文件 like 查询的三种方案
查看>>
UIWebView捕捉点击事件
查看>>
关于Java继承问题
查看>>
Yii - 直接执行SQL语句(转)
查看>>
C#事件-事件处理
查看>>
Android——线程通讯类Handler(转)
查看>>
正确使用pthread_create,防止内存泄漏
查看>>
oracle 为 用户 解锁 加锁 (以hr为例)
查看>>
【C++】模板参数推导(template argument deduction)
查看>>
新闻内容翻页
查看>>
VB 读写文件
查看>>
【Linux】time
查看>>
data-compression download
查看>>
多种联结语句
查看>>
ProcesscmdKey KeyDate老是 ProcessKey解决方法
查看>>
git stash和git stash pop
查看>>
[原]Windows批处理命令学习二
查看>>
利用SSLStrip & Ettercap ARP欺骗嗅探密码
查看>>