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流量统计分析结果。
查看页面如下: |
网络流量日志分析对于网络管理员来说非常重要。通过系统记载的流量日志,管理员可以清楚地看到用户对网络服务器的使用情况,能够从中挖掘及发现网络中可能存在的安全问题。
在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
现在大功告成了.
ubutun 下webalizer 分析Apache日志的更多相关文章
- linux下grep分析apache日志的命令集合
https://my.oschina.net/hmc0316/blog/112004 实例:月份英文简写英文全称一月Jan.January二月Feb.February三月Mar.March四月Apr. ...
- 如何分析apache日志[access_log(访问日志)和error_log(错误日志)]
如何分析apache日志[access_log(访问日志)和error_log(错误日志)] 发布时间: 2013-12-17 浏览次数:205 分类: 服务器 默认Apache运行会access_l ...
- elk系列7之通过grok分析apache日志【转】
preface 说道分析日志,我们知道的采集方式有2种: 通过grok在logstash的filter里面过滤匹配. logstash --> redis --> python(py脚本过 ...
- elk系列7之通过grok分析apache日志
preface 说道分析日志,我们知道的采集方式有2种: 通过grok在logstash的filter里面过滤匹配. logstash --> redis --> python(py脚本过 ...
- linux分析apache日志获取最多访问的前10个IP
apache日志分析可以获得很多有用的信息,现在来试试最基本的,获取最多访问的前10个IP地址及访问次数. 既然是统计,那么awk是必不可少的,好用而高效. 命令如下: awk '{a[$1] += ...
- shell脚本分析apache日志状态码
一.首先将apache日志按天切割 vi /etc/httpd/conf/httpd.conf ErrorLog "|rotatelogs /var/log/httpd/%Y% ...
- 分析apache日志,统计访问量
cat nondomain_access_log.20090722 |awk '{print $1}'| sort | uniq -c |sort -nr
- 分析apache日志,统计ip访问频次命令
统计访问频次最高的10个ip: cat /var/log/httpd/access_log |awk '{print $1}'|sort|uniq -c|sort -nr|head -10 统计恶意i ...
- 记录 Linux分析apache日志获取最多访问的前10个IP
摘自: http://blog.csdn.net/tanga842428/article/details/52856413
随机推荐
- Jar包下载地址
Download Apache log4j 1.2.17下载: http://logging.apache.org/log4j/1.2/download.html jsoup http://jsoup ...
- 在centos6.5下yum仓库的创建
第一步:打开虚拟机,装入光盘镜像,选择为已连接 第二步: df -h mount umount /dev/sr0 mkdir /centos mount /dev/sr0 /centos mkdir ...
- Oracle操作数据库oracleHelper
1 Oracle OracleHelper //============================================================================ ...
- Android 图片处理效果集
总共可以处理出大约100种图片效果,常见的和不常见的滤镜效果可以处理出来,可以说涵盖了市面上所有特效相机可以处理出来的效果.项目所有代码都是纯java代码实现,没有封装成jar包.截图是挑选了几张有代 ...
- break在switch中的使用例子
/* Name:break在switch中的使用例子 Copyright: By.不懂网络 Author: Yangbin Date:2014年2月21日 03:16:52 Description:以 ...
- 个人收集资料整理-WinForm
[2016-03-23 20:29:56] 别人收集常用: http://www.cnblogs.com/babycool/p/3541192.html
- 【Delphi内联汇编学习1】Delphi与汇编
我一直认为Delphi功能与C++相比毫不逊色,提供了丰富的控件和类.全部API以及嵌入的汇编.最近小弟在把C版的Huffman压缩改用Delphi写时,顺便“研究”了一下Delphi的位操作和嵌入式 ...
- Delphi2010的RTTI增强
Delphi编译的文件体积增大了很多.很大一部分原因是因为Delphi2010默认提供了全信息的RTTI. 每一个数据类型都有全部运行时信息.例如可以在运行时获得结构体的成员以及成员类型等. 这个功能 ...
- OpenStack安装部署管理中常见问题解决方法
一.网络问题-network 更多网络原理机制可以参考<OpenStack云平台的网络模式及其工作机制>. 1.1.控制节点与网络控制器区别 OpenStack平台中有两种类型的物理节点, ...
- DOM ISO - get current element's XPATH
DOM ISO - get current element's XPATH DOM ISO - get current element's XPATH