zoukankan      html  css  js  c++  java
  • ubutun 下webalizer 分析Apache日志

    http://www.webalizer.org/  配置Webalizer

    我们可以通过命令行配置Webalizer,也可以通过配置文件进行配置。下面将重点介绍使用配置文件进行配置,该方法使用形式比较直观,使用比较普遍。

    Webalizer的配置文件的路径是"/etc/webalizer/webalizer.conf.sample。在一般情况下,该配置文件的默认参数配置都能满足一定的应用需要,可以直接使用。接下来以实例的方式给大家介绍如何配置该文件。

    使用vi编辑Webalizer配置文件。

    webalizer/webalizer.conf

    设置访问日志的存放路径。

    将系统默认值:

    改为如下内容:

    设置报表输出目录。

    从默认值:

    使用crontab命令让Webalizer每天生成Apache的当日流量统计分析。
    添加如下配置行,使得Webalizer每晚9点生成当天的Squid流量统计分析结果。
    21 0 * * * /usr/bin/webalizer -c /etc/webalizer/webalizer.conf
    
    查看页面如下: 

    网络流量日志分析对于网络管理员来说非常重要。通过系统记载的流量日志,管理员可以清楚地看到用户对网络服务器的使用情况,能够从中挖掘及发现网络中可能存在的安全问题。

    在Linux下有许多日志及流量分析软件。Webalizer就是其中一个高效、简单易用、免费的Web服务器日志及流量 分析程序。Internet上的很多站点都使用它进行Web服务器日志及流量分析。本文将以对Linux下的代理服务器Squid的流量日志作分析为背 景,详细介绍如何使用该软件进行流量分析。

    Webalizer具有以下一些特性:

    ● 用C语言编写,具有很高的运行效率。在主频为200Mhz的机器上,Webalizer每秒钟可以分析10000条记录,所以分析一个40M大小的日志文件只需15秒。

    ●支持标准的一般日志文件格式(Common Logfile Format); 除此之外,也支持几种组合日志格式(Combined Logfile Format)的变种,从而可以统计客户情况以及客户操作系统类型。并且现在Webalizer已经可以支持wu-ftpd xferlog日志格式以及Squid日志文件格式了。

    安装配置Webalizer

    1. 源代码包的安装

    从Webalizer的站点http://www.mrunix.net/webalizer/download.html下载Webalizer,当前的最新版本是Webalizer-2.01-10-src.tgz。按照如下步骤进行安装:

    //解压开源代码包

    #tar xvzf Webalizer-2.01-10-src.tgz

    //然后进入生成的目录

    #./configure

    #make --with-language=chinese

    //编译成功后,会产生一个Webalizer可执行文件,可以将其拷贝到/usr/sbin/目录下

    #cp Webalizer /usr/sbin/

    这样,安装就成功了,就可以对其进行配置了。

    2. RPM包的安装

    Red Hat Linux 9中提供了Webalizer的RPM安装包,下面介绍安装该RPM包的步骤:

    #rpm -qa | grep webalizer //查看是否已经安装了Webalizer

    #mount /mnt/cdrom //将第一张安装光盘放入光驱后挂装光盘分区

    #cd /mnt/cdrom/Red Hat/RPMS

    //进入/mnt/cdrom/Red Hat/RPMS目录

    #rpm -ivh webalizer-2.01_10-11.i386.rpm

    //执行安装

    用户可以通过命令行配置Webalizer,也可以通过配置文件进行配置,下面将介绍使用配置文件进行配置,该方法使用形式比较直观,较为普遍。

    Webalizer的配置文件的路径为: /etc/webalizer.conf,其有一个对应的例子文件/etc/webalizer.conf.sample。在一般情况下,该配置文件的默 认选项都能满足一定应用需要,可以直接使用。下面给出配置该文件的实际例子和步骤:

    1.使用vi编辑webalizer配置文件

    #vi /etc/webalizer.squid.conf

    2.设置访问日志的存放路径,将系统默认值:LogFile /var/log/httpd/access_log改为如下内容:

    LogFile /var/log/squid/access.log

    3.设置访问日志的格式类型,将LogType clf修改为:

    LogType squid

    4.将报表输出目录从默认值OutputDir /var/www/html/usages设为Squid的统计报表,保存目录。使用crontab命令让webalizer每天生成Squid的当日流量统计分析。

    #crontab -e

    5.添加如下配置行,使得webalizer每晚9点生成当天的Squid流量统计分析结果:

    21 0 * * * /usr/bin/webalizer -c /etc/webalizer.conf

    Squid日志管理介绍

    Squid是Linux下一个缓存Internet数据的代理服务器软件,其接收用户的下载申请,并自动处理所下载的数据。在网络环境下,本地网络管理员经常可以通过其来代理访问互联网的很多资源,因而对其进行日志审核和管理具有重大意义。

    Squid日志管理的功能比较强大。通过查看相关日志文件,用户可以实时、准确地了解代理服务器的访问记录、cache的存储状况、cache的访问记录等许多有用的信息,从而高效地对代理服务器进行管理。

    Squid最重要的日志文件就是访问日志,其访问路径为: /var/log/squid/access.log。该日志文件记录了客户使用代理服务器的许多有用信息,包括使用时间、请求的内容、客户端信息等等。该文件的格式如下所示:

    time eclapsed remotehost code/status bytes method URL rfc931 peerstatus/ peerhost type

    如上可以看到,该日志文件的记录共包含10个字段,每个字段的含义如下:

    ● time: 记录客户访问代理服务器的时间,从1970年1月1日到访问时所经历的秒数,精确到毫秒。

    ● eclapsed: 记录处理缓存所花费的时间,以毫秒计数。

    ● remotehost: 记录访问客户端的IP地址或者是域名。

    ● code/status: 结果信息编码/状态信息编码,如TCP_MISS/205。

    ● bytes: 缓存字节数。

    ● method: HTTP请求方法,GET或者POST。

    ● URL: 访问的目的地址的URL,如www.sina.com.cn。

    ● Rfc931: 默认的,暂未使用。

    ● peerstatus/peerhost: 缓存级别/目的IP,如DIRECT/211.163.21.19。

    ● type: 缓存对象类型,如text/html。

    下面给出了实际应用中的一段真实的访问日志,只取出了其中的一部分:

    #cd /var/log/squid

    #cat access.log

    1119263842.955 195 192.168.10.3 TCP_MISS/200 1286 GET http://ad4.sina.com. cn/sina/ae/ad_src/popup/pops1.html? - DIRECT/218.30.108.19 text/html

    1119263843.241 286 192.168.10.3 TCP_MISS/200 44689 GET http://ad4.sina.com. cn/200506/15/21135_300x250.GIF - DIRECT/218.30.108.18 image/gif

    以第一条日志记录为例,其各个字段的含义如下:

    客户访问代理服务器的时间为1119263842.955毫秒。处理缓存所花费的时间为195毫秒。客户端的IP地址为 192.168.10.3,为内网地址。结果信息编码/状态信息编码为TCP_MISS/200。缓存字节数为1286。HTTP请求方法为GET。访问 的目的地址的URL为: http://ad4.sina.com.cn/sina/ae/ad_src/popup/pops1.html。缓存级别/目的IP为: DIRECT/218.30.108.19。缓存对象类型为text/html。rfc913暂未使用,用“-”表示。

    在上述的10个字段当中,信息编码以及状态信息编码比较重要,其表明了代理服务器对于客户请求的信息的返回结果,与代理服务器的cache命中率以及cahce处理过程有直接关系,该信息能够实在地反映代理服务器的cache的整体性能,具有较大的参考价值。

    查看Squid网络流量日志

    Webalizer可以将上述大量的Squid日志信息综合起来进行统计,得出可视化的显示结果供网络管理员或者网络用户进行参考和评价Squid服务器的使用情况,对于作出相应的决策有相当的参考价值。

    在使用过程中需要注意: 由于该软件的使用结果都是通过Web页面来显示的,所以与Web服务器的联系比较紧密。下面给出该软件结合Squid服务器的使用示例。通常情况,配置好 该软件之后,启动Web服务器(只有启动该服务器才能通过Web页面来查看日志统计的详细情况)和该软件即可:

    #service httpd start

    #/usr/bin/webalizer -c /etc/webalizer.conf

    启动Apache服务以及该软件后,就可以通过浏览器来查看Squid代理服务器的流量分析结果了,在IE浏览器的地址栏内输入Apache服务器的地址: http://210.77.27.59/usage,则得到如图所示结果。


    图 查看流量统计信息

    图中给出了流量分析的示意图以及一些数据说明,更详细的统计分析数据,可以点击图中“Summary by Month”表格的“Jul 2005”超链接,则显示出更详细的信息,通过分析和查看这些统计图表的结果,用户可以清楚地知道Squid代理服务器使用的细节情况,并可以根据情况来 对服务器做出适当地调整和优化。

    最后,使用Webalizer还有一个需要注意的问题是: 通常并不需要每个用户都有权限来查看代理服务器的流量情况,否则对于系统来说是不安全的。非法用户为了掩盖自己非法使用代理服务器事实的目的,可以对流量 情况统计的结果进行修改、删除等操作。所以,我们需要使用访问控制策略来对上述分析图表的查看权限进行控制,可以在Apache的主配置文件/etc /htpd/conf/httpd.conf中进行认证和授权的配置,如下所示:

    < Directory “/var/www/html/usage”>

    //使用基本认证方式

    AuthType Basic

    //指定认证域名称

    AuthName “admin”

    //指定认证口令文件存放的位置

    AuthUserFile /var/www/passwd/admin

    //授权给认证口令文件中的所有用户

    require valid-user

    < /Directory>

    认证和授权配置成功后,需要创建认证口令文件以及添加用户。

    #mkdir /var/www/passwd

    #cd /var/www/passwd

    #htpasswd -C admin liyang

    New password:

    Re-type new password:

    Adding passwor for user liyang

    然后,将口令文件的属主改为apache,并重新启动Apache:

    #chown apache.apache admin

    #service httpd restart

    经过上面的配置后,用户在IE地址栏内输入路径: http://210.77.27.59/usage后,具有认证和授权的用户才能通过用户验证界面,查看Squid代理服务器的流量分析报表信息。

     

     

    安装II---------------------------------------------

    Webalizer 的配置不是很困难,但是对于新手来说,安装起来却十分的麻烦,本文将详细叙述安装过程,帮你一步一步走向成功! 

       Webalizer 吹牛在一台 200 Mhz 的普通 Pentium 机器上处理一万条记录只需要一秒钟,但是在我的赛扬机器上可没有那么快。大 概是我做了 IP 地址的反向解析的缘故。但是,不论速度如何,我认为 Webalizer 尽管不能和某些商业软件的界面媲美,但是和其他的开源软件比 起来,其统计能力要强得多。 

      一. 安装 

      Webalizer 需要用到相关的 jpeg, png 和 zlib库,这些库一般不缺省安装,因此初学者会感到难于下手。由于这些库具有相关性,因此下面的安装步骤不能颠倒: 

      1、jpeg 库的安装 
      从 http://www.ijg.org/ 下载 jpeg 库,解开压缩文件后,进入到这个目录: 
      ./configure 
      make 
      make install 
      cd .. 
      2、zlib 库的安装 
      从 http://www.info-zip.org/pub/infozip/zlib/ 下载 zlib 库后, 

      gunzip zlib*.tar.gz 
      tar -xvpf zlib-1.1.3.tar 
      mv zlib-1.1.3 zlib 
      cd zlib 
      ./configure 
      make 
      make test 
      make install 
      cd .. 

    3、libpng 库的安装 


      从 http://www.libpng.org/ 下载 libpng 后: 

      gunzip libpng*.tar.gz 
      tar -xvpf libpng-1.0.10.tar 
      mv libpng-1.0.10 libpng 
      cd libpng 
      cp scripts/makefile.linux makefile 
      make 
      make test 
      make install 
      cd .. 

      你还可以从 http://www.freetype.org/download.html 选择下载 freetype 字库,但是这个步骤不是必须的。 
      cd freetype* 
      make setup 
      make 
      make install 
      cd .. 

      下面我们就可以开始安装 gd 库了: 
      从 http://www.boutell.com/gd/ g下载 d-1.8.4.tar.gz : 

    cd gd-1.8.4 

      #如果需要使用 Xpm 或者 TrueType 支持,在 make 之前修改 Makefile。 

      make 

      #很多人会经历找不到 gd.h 的问题,建议你在硬盘上搜索老的 gd.h 版本,然后 make install 

      接下来,我们就可以开始安装 Webalizer 了,从 http://www.mrunix.net/webalizer/ 下载后: 

      cd webalizer-2.01-06 
      ./configure 
      make 
      make install 

      如果不是通过源码编译的方法来安装 Webalizer 的话,你需要备份 /etc/webalizer.conf。 

      如果需要使用 DNS 反向解析功能的话,我们还需要安装 Berkeley DB。具体的安装可以参考文档:DNS.README。 
    二. 配置: 

      一个普通的配置文件为: 
      HideReferrer www.freelamp.com 
      Incremental yes 
      PageType htm* 
      PageType cgi 
      PageType php 
      PageType pl 
      IgnoreHist no 
      CountryGraph yes 
      IndexAlias index.cgi 
      IndexAlias index.php 
      HideReferrer Direct Request 
      HideURL *.gif 
      HideURL *.GIF 
      HideURL *.jpg 
      HideURL *.JPG 
      HideURL *.png 
      HideURL *.PNG 
      GroupURL /cgi-bin/* CGI Scripts 
      GroupURL /images/* Images 
      GroupReferrer yahoo.com/ Yahoo! 
      GroupReferrer excite.com/ Excite 
      GroupReferrer infoseek.com/ InfoSeek 
      GroupReferrer webcrawler.com/ WebCrawler 
      GroupReferrer google.com/ Google 
      GroupReferrer lycos.com/ Lycos 
      GroupReferrer metacrawler.com/ Metacrawler 
      GroupAgent MSIE Internet Exploder 
      GroupAgent Mozilla Netscape 
      GroupShading yes 
      MangleAgents 3 


       然后我们运行/usr/local/bin/webalizer -Q -c /root /webalizer.conf -n www.freelamp.com -o /home/freelamp/public_html/log / /home/freelamp/logs/freelamp.log 把这句话写入 crontab ,我们就能从http://www.freelamp.com/log/ 看到日志统计结果了。

    安装III--------------------------------------------

    最近在搞Linux下resin 服务器的日志分析,网上对webalizer这个工具评价挺高的,而且它是免费的,因此我就安装起来.
        需求:
         由于webalizer在做报表时需要用到绘图,因此在安装webalzer前要先装libpng 库,和gd库从 http://aleron.dl.sourceforge.net/sourceforge/libpng/libpng-1.2.7-config.tar.gz 下载gd-1.2.7.tar.gz后考到一个目录下解压
    tar -xfzv libpng-1.2.7.tar.gz
    cd  libpng解压所在目录
    ./configure
    make
    make install
    --------------libpng安装完毕---
    现在开始 gd 库
    http://www.boutell.com/gd/http/gd-2.0.28.tar.gz  下载gd.2.0.28.tar.gz
    tar -xfzv gd-2.0.28.tar.gz
    cd gd解压目录
    ./configure
    make
    make install
    ----------------gd库安装完-----
    现在开始安装webalizer了

    1.从webalizer的官方站点http://www.mrunix.net/webalizer/下载webalizer,当前的最新版本是webalizer-2.01-10-src.tgz。

    2.首先解开源代码包:

    tar xvzf webalizer-2.01-10-src.tgz

    3.在生成的目录中有个lang目录,该目录中保存了各种语言文件,有繁体中文版本和简体中文版.

    4.然后进入生成的目录:

    ./configure
    ./configure make --with-language=simplified_chinese
    make
    make install

    5.编译成功后,会产生一个webalizer可执行文件,可以将其拷贝到/usr/sbin/目录下:

    cp webalizer /usr/sbin/

    然后就可以开始配置webalizer了。(配置按自己的实际情况配置,里面有详细的注释)
    配置文件默认是/etc/webalizer.conf
    测试:
    用root 登陆,执行 /etc/rc.d/webalizer
    正常时提示:

    使用日志文件 /home/smp/resin/logs/access.log (clf)
    输出结果到 /home/smp/resin/webapps/itemLog
    产生报表的主机名是 '192.168.1.102:8080'
    正在读取历史信息文件... webalizer.hist
    正在生成报表 ---- 为  十一月 2004
    正在生成综合报表
    正在保存历史信息文件...
    287 条记录 共用时 0.04 秒

    为了让webzlizer按计划运行,所有现在我写一个脚本:(在/etc/rc.c/webalizer)
    export HOME=/

    export PATH=/usr/bin

    export LD_LIBRARY_PATH=/usr/local/lib
    export NLS_LANG=american_america.ZHS16GBK
    export CLASSPATH=/usr/local/lib

    export LANG=zh_CN.gb2312i

    #!/bin/sh
    /usr/bin/webalizer > /etc/rc.d/out.log

    注意环境变量一定要配,不然执行不了的
    在crontab -e 中添加
    59 23 * * * /etc/rc.d/webalizer -c /etc/webalizer.conf
    现在大功告成了.

  • 相关阅读:
    10 Iterable之遍历Map、Set、Array
    9 Map和Set
    8 循环
    5 字符串
    6 数组
    4 数据类型
    2 变量
    实现简单的邮件收发器(十二)
    10.19 初识django
    10.18 数据库之索引优化方案
  • 原文地址:https://www.cnblogs.com/timssd/p/4697227.html
Copyright © 2011-2022 走看看