RHEL5.4 部署web日志分析服务之awstats+jawstats

简介:
一     awstats  简介
1 awstats是一个基于跑Perl 的web日志分析工具,其可以跨平台,界面友好,分析内容详尽,并支持多个语言操作界面,
2     awstats 优点
awstats能够分析web统计的所有数据,包括访问量,访问这者数量,页面,点击,高峰时段,访问者的操作系统,浏览器类型及其版本,搜索引擎,关键字,机械访问,无效链接等
3  当然awstats 不仅能够分析web 日志,同样能够分析ftp日志,还能够分析mail 日志当然这需要在其配置文件中更改其日志类型:
    LogType来指定日志类型,

     w代表web log file 

    F 代表ftp log file

    M 代表mail log file 

   S 代表streaming log file 

  当然awstats 还能够合并日志并进行分析,及压缩日志文件如access.log.gz 

4  awstats 的缺点,占用系统的资源较多,尤其是占用的系统的内存
二    awstats  的安装配置

     1  在安装前一定要确认系统上是否有perl 环境,httpd ,如果没有需要安装perl软件包,当然在此就不在安装perl ,

     2  安装awstats

        #tar xvf awstats-7.0.tar.gz

        #mv awstats-7.0 /usr/local/awstats

        #cd /usr/local/awstats/tools

        # perl awstats_configure_pl  

         ----- AWStats awstats_configure 1.0 (build 1.9) (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 files\apache group\apache\conf\httpd.conf

Config file path ('none' to skip web server setup):

> /etc/httpd/conf/httpd.conf    < ------   注:  该处是apache  主配置文件的路径
 

-----> 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  < ---  注:  选择是不是同一创建一个新的对象配置文件
 
-----> 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.frank.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   < ---------  注:  将awstats  的配置文件放在/etc/awstats  路径下
 

-----> Create config file '/etc/awstats/awstats.www.frank.com.conf'

 Config file /etc/awstats/awstats.www.frank.com.conf created.

 

-----> Restart Web server with '/sbin/service httpd restart'   注: 重启apache 服务器

Stopping httpd: [ OK ]
Starting httpd: [ OK ]
 

-----> 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.frank.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...     <--------  # 按Enter 
 
 

A SIMPLE config file has been created: /etc/awstats/awstats.www.frank.com.conf

You should have a look inside to check and change manually main parameters.

You can then manually update your statistics for 'www.frank.com' with command:

> perl awstats.pl -update -config=www.frank.com

You can also read your statistics for 'www.frank.com' with URL:

> http://localhost/awstats/awstats.pl?config=www.frank.com

 
Press ENTER to finish...   < ---------  注:  按Enter 
  3   修改以下各项

   #cd  /etc/awstats

   #vim   awstats.www.frank.com.conf

       LogFile="/var/log/httpd/mylog.log"

       修改为apache 的日志文件

        LogFile=“/var/log/httpd/access_log”

   4     手动创建目录
#mkdir /var/lib/awstats 注:该目录为awstats的数据库库存放目录
  5     创建awstats 初始化数据库库

          #perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl   -config=www.frank.com –update

     注 :问题

perl ../wwwroot/cgi-bin//awstats.pl -config=puppet.frank.com

Create/Update database for config "/etc/awstats/awstats.puppet.frank.com.conf" by AWStats version 7.0 (build 1.970)

From data in log file "/usr/local/awstats/tools/logresolvemerge.pl /var/log/httpd/*_log |"...

sh: /usr/local/awstats/tools/logresolvemerge.pl: Permission denied

Phase 1 : First bypass old records, searching new record...

Searching new records from beginning of log file...

Error: Command for pipe '/usr/local/awstats/tools/logresolvemerge.pl /var/log/httpd/*_log |' failed

Setup ('/etc/awstats/awstats.puppet.frank.com.conf' file, web server or permissions) may be wrong.

Check config file, permissions and AWStats documentation (in 'docs' directory)

解决方法是
#chmod u+x /usr/local/awstats/tools/*.pl 

 6   确保在apche 的主配置文件尾部有如下配置,莫热门情况下在安装配置awstats 后 默认是已经配置好了

    #

# Directives to allow use of AWStats as a CGI

#

Alias /awstatsclasses "/usr/local/awstats/wwwroot/classes/"

Alias /awstatscss "/usr/local/awstats/wwwroot/css/"

Alias /awstatsicons "/usr/local/awstats/wwwroot/icon/"

ScriptAlias /awstats/ "/usr/local/awstats/wwwroot/cgi-bin/"

 

#

# This is to permit URL access to scripts/files in AWStats directory.

#

<Directory "/usr/local/awstats/wwwroot/">

    Options None

    AllowOverride None

    Order allow,deny

    Allow from all

</Directory>

  这是您查看一下awstats 对网站的分析情况

     http://IP/awstats/awstats.pl?config =www.frank.com 

    注: config 后面为您要分析的URL
 
三     安装awstats 的插件能
     GeoIP和Geo::IPfree都免费的是国家/IP的映射表,比通过DNS反相解析域名得到的统计准确,而且速度快。GeoIP的API都是免费的,缺省库是免费的,收费的是它的数据更新服务。Geo::IPfree不仅代码是公开的,而且库数据也是公开的

      1  安装 GeoIP

        #tar xvf GeoIP-1.4.6.tar.gz

        #cd GeoIP-1.4.6

        #./configure

        #make && make install

      2  安装Geo-IP

         #tar xvf Geo-IP-1.38.tar.gz

         #cd Geo-IP-1.38

         #perl Makefile.PL

         #make && make install

      安装Geo-IPfre

         #tar xvf Geo-IPfree-0.2.tar.gz

         #cd Geo-IPfree-0.2

         #perl Makefile.PL

         #make  && make install

四     安装jawstats

   1   jawstats 是awstats 一款PHP外挂系统,jawstats 是在awstats生成的数据基础上构造出更加清晰美观的关于网站访问数据的图表,表格,并且安装简便,快捷。

   2  安装 jawstats
    #tar xvf jawstats-0.7beta.tar.gz
    #cd jawstats-0.7beta.
    #mv ./*   /usr/local/awstats/wwwroot
    #chown –R apache /usr/local/awstats/jawstats
   3   配置jawstats
     #cd /usr/local/awstats/jawstats

     #cp   config.dist.php config.php

     #vim   config.php

      修改下面几项

     $aConfig["site1"] = array( 注: 该处site1 要修改为你的配置文件名,如awstats.www.frank.com.conf 当然这里就改为 www.frank.com

    "statspath"   => "/path/to/data/",     注: 该处修改为awstats数据文件的路径,当然在安装awstats 时默认情况下是在/var/lib/awstats

    "updatepath" => "/path/to/awstats.pl/",     注: 该处为awstat s.pl 执行文件所在的路径

    "siteurl"     => "http://www.my-1st-domain.com",

    "sitename"    => "",
    "theme"       => "default",
    "fadespeed"   => 250,
    "password"    => "my-1st-password",
    "includes"    => "",
    "language"    => "en-gb"
 );
 修改为

   $aConfig["puppet.frank.com"] = array( 

    "statspath"   => "/var/lib/awstats/",

    "updatepath" => "/user/local/awstats/wwwroot/cgi-bin/awstats.pl/",

    "siteurl"     => "http://puppet.frank.com",
    "sitename"    => "This is my main website",
    "theme"       => "default",
    "fadespeed"   => 250,
    "password"    => "frank",
    "includes"    => "",
    "language"    => "zh-cn"
 );
 4  由于jawstats 配置有一个小一点的bug 需要需改一下
   #vim  index.php
   #修改前
  <?
    // output booleans for javascript
    function BooleanToText($bValue) {
 
 #修改后
<?php
    // output booleans for javascript 
    function BooleanToText($bValue) {      
 5  修改apache的主配置文件

<Directory "/usr/local/awstats/wwwroot">

</Directory>
 修改为

 <Directory "/usr/local/awstats/wwwroot/jawstats">

</Directory>
   当然如果是考虑安装您还可以配置通过https 的web 及配置基于用户的web 服务

    6  重启apache

        #service httpd restart

          在浏览器输入

          http://IP/jawstats/

        










本文转自 freehat08 51CTO博客,原文链接:http://blog.51cto.com/freehat/469848,如需转载请自行联系原作者
相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
目录
相关文章
|
5月前
|
开发框架 监控 安全
Windows Defender 导致 Web IIS 服务异常停止排查
某日凌晨IIS服务异常停止,经查为Windows Defender安全补丁KB2267602触发引擎更新,导致系统资源波动,进而引发应用池回收。确认非人为操作,系统无重启。通过分析日志与监控,定位原因为Defender更新后扫描加重负载。解决方案:将IIS及.NET相关路径添加至Defender排除列表,避免业务影响。
626 116
|
7月前
|
运维 数据可视化 C++
2025 热门的 Web 化容器部署工具对比:Portainer VS Websoft9
2025年热门Web化容器部署工具对比:Portainer与Websoft9。Portainer以轻量可视化管理见长,适合技术团队运维;Websoft9则提供一站式应用部署与容器管理,内置丰富开源模板,降低中小企业部署门槛。两者各有优势,助力企业提升容器化效率。
484 1
2025 热门的 Web 化容器部署工具对比:Portainer VS Websoft9
|
8月前
|
Java 应用服务中间件 Docker
java-web部署模式概述
本文总结了现代 Web 开发中 Spring Boot HTTP 接口服务的常见部署模式,包括 Servlet 与 Reactive 模型、内置与外置容器、物理机 / 容器 / 云环境部署及单体与微服务架构,帮助开发者根据实际场景选择合适的方案。
351 25
|
9月前
|
开发框架 安全 前端开发
Go Web开发框架实践:模板渲染与静态资源服务
Gin 是一个功能强大的 Go Web 框架,不仅适用于构建 API 服务,还支持 HTML 模板渲染和静态资源托管。它可以帮助开发者快速搭建中小型网站,并提供灵活的模板语法、自定义函数、静态文件映射等功能,同时兼容 Go 的 html/template 引擎,具备高效且安全的页面渲染能力。
|
8月前
|
安全 JavaScript Java
java Web 项目完整案例实操指南包含从搭建到部署的详细步骤及热门长尾关键词解析的实操指南
本项目为一个完整的JavaWeb应用案例,采用Spring Boot 3、Vue 3、MySQL、Redis等最新技术栈,涵盖前后端分离架构设计、RESTful API开发、JWT安全认证、Docker容器化部署等内容,适合掌握企业级Web项目全流程开发与部署。
655 0
|
9月前
|
开发框架 JSON 中间件
Go语言Web开发框架实践:使用 Gin 快速构建 Web 服务
Gin 是一个高效、轻量级的 Go 语言 Web 框架,支持中间件机制,非常适合开发 RESTful API。本文从安装到进阶技巧全面解析 Gin 的使用:快速入门示例(Hello Gin)、定义 RESTful 用户服务(增删改查接口实现),以及推荐实践如参数校验、中间件和路由分组等。通过对比标准库 `net/http`,Gin 提供更简洁灵活的开发体验。此外,还推荐了 GORM、Viper、Zap 等配合使用的工具库,助力高效开发。
|
11月前
|
中间件 Go
Golang | Gin:net/http与Gin启动web服务的简单比较
总的来说,`net/http`和 `Gin`都是优秀的库,它们各有优缺点。你应该根据你的需求和经验来选择最适合你的工具。希望这个比较可以帮助你做出决策。
532 35
|
10月前
|
人工智能 安全 程序员
用 Colab 和 ngrok 免费部署你的 Web UI 项目,随时随地访问!
用 Colab 和 ngrok 免费部署你的 Web UI 项目,随时随地访问!
1170 12
|
12月前
|
存储 JSON Go
PHP 日志系统的最佳搭档:一个 Go 写的远程日志收集服务
为了不再 SSH 上去翻日志,我写了个 Go 小脚本,用来接收远程日志。PHP 负责记录日志,Go 负责存储和展示,按天存储、支持 API 访问、可远程管理,终于能第一时间知道项目炸了。
256 10
|
中间件 关系型数据库 数据库
docker快速部署OS web中间件 数据库 编程应用
通过Docker,可以轻松地部署操作系统、Web中间件、数据库和编程应用。本文详细介绍了使用Docker部署这些组件的基本步骤和命令,展示了如何通过Docker Compose编排多容器应用。希望本文能帮助开发者更高效地使用Docker进行应用部署和管理。
379 19