您的位置:首页 > 运维架构 > Linux

linux下日志监控分析工具webalizer的安装及使用

2013-04-16 19:54 1231 查看
webalizer是一个高效的、免费的web服务器日志分析程序。其分析结果以HTML文件格式保存,从而可以很方便的通过web服务器进行浏览。webalizer支持标准的一般日志文件格式(Common Logfile Format);除此之外,也支持几种组合日志格式(Combined Logfile Format)的变种,从而可以统计客户情况以及客户操作系统类型。并且现在webalizer已经可以支持wu-ftpd xferlog日志格式以及squid日志文件格式了。支持命令行配置以及配置文件。

[align=left]下面介绍webalizer的安装:[/align]
[align=left]从webalizer的官方站点下载webalizer,当前的最新版本是2.23-05。 [/align]
[align=left]编者这里就直接将下载的webalizer放在/root/目录下了:[/align]



[align=left]首先解开源代码包:[/align]
[align=left][root@localhost ~]# tar zxvf webalizer-2.23-05-src.tgz[/align]



[align=left]在生成的目录中有个lang目录,该目录中保存了各种语言文件,但是只有繁体中文版本,可以自己转换成简体,或者自己重新翻译一下。 [/align]



[align=left]然后在生成的目录:[/align]
[align=left]./configure[/align]
[align=left]make[/align]
[align=left]make install[/align]









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



[align=left][root@localhost webalizer-2.23-05]# cp webalizer /usr/sbin/[/align]
[align=left][root@localhost webalizer-2.23-05]#[/align]
[align=left] [/align]
[align=left]然后就可以开始配置webalizer了。 [/align]
[align=left] [/align]
[align=left]配置:[/align]
[align=left]上面说过,可以通过命令行配置webalizer,也可以通过配置文件进行配置,在本文中我们将介绍使用命令行参数进行配置,需要了解配置文件使用方法的朋友可以参考README文件,里面有很详细的介绍。 [/align]
[align=left]可以执行webalizer –h得到所有命令行参数: [/align]
[align=left][root@localhost sbin]# webalizer -h[/align]
[align=left]Usage: webalizer [options] [log file][/align]
[align=left]-h = print this help message[/align]
[align=left]-V = print version information[/align]
[align=left]-v = be verbose[/align]
[align=left]-d = print additional debug info[/align]
[align=left]-F type = Log type. type= (clf | ftp | squid | w3c)[/align]
[align=left]-f = Fold sequence errors[/align]
[align=left]-i = ignore history file[/align]
[align=left]-p = preserve state (incremental)[/align]
[align=left]-b = ignore state (incremental)[/align]
[align=left]-q = supress informational messages[/align]
[align=left]-Q = supress _ALL_ messages[/align]
[align=left]-Y = supress country graph[/align]
[align=left]-G = supress hourly graph[/align]
[align=left]-H = supress hourly stats[/align]
[align=left]-L = supress color coded graph legends[/align]
[align=left]-l num = use num background lines on graph[/align]
[align=left]-m num = Visit timout value (seconds)[/align]
[align=left]-T = print timing information[/align]
[align=left]-c file = use configuration file 'file'[/align]
[align=left]-n name = hostname to use[/align]
[align=left]-o dir = output directory to use[/align]
[align=left]-t name = report title 'name'[/align]
[align=left]-a name = hide user agent 'name'[/align]
[align=left]-r name = hide referrer 'name'[/align]
[align=left]-s name = hide site 'name'[/align]
[align=left]-u name = hide URL 'name'[/align]
[align=left]-x name = Use filename extension 'name'[/align]
[align=left]-O name = Omit page 'name'[/align]
[align=left]-P name = Page type extension 'name'[/align]
[align=left]-I name = Index alias 'name'[/align]
[align=left]-K num = num months in summary table[/align]
[align=left]-k num = num months in summary graph[/align]
[align=left]-A num = Display num top agents[/align]
[align=left]-C num = Display num top countries[/align]
[align=left]-R num = Display num top referrers[/align]
[align=left]-S num = Display num top sites[/align]
[align=left]-U num = Display num top URLs[/align]
[align=left]-e num = Display num top Entry Pages[/align]
[align=left]-E num = Display num top Exit Pages[/align]
[align=left]-g num = Group Domains to 'num' levels[/align]
[align=left]-X = Hide individual sites[/align]
[align=left]-z dir = Use country flags in 'dir'[/align]
[align=left]-D name = Use DNS Cache file 'name'[/align]
[align=left]-N num = Number of DNS processes (0=disable)[/align]
[align=left]-j = Enable native GeoDB lookups[/align]
[align=left]-J name = Use GeoDB database 'name'[/align]
[align=left][root@localhost sbin]#[/align]
[align=left]假设,web服务器主机名为www.test.com,统计站点域名为www.test.com, 访问日志为/var/log/httpd/access_log, 我们将webalizer分析结果输出到/var/www/html/log下面。则我们可以建立以下脚本/etc/rc.d/webalizer:[/align]
[align=left][root@localhost sbin]# vim /etc/rc.d/webalizer[/align]



[align=left]#!/bin/sh[/align]
[align=left]run=/usr/sbin/webalizer[/align]
[align=left]$run -F clf -p -n " " -t "www.test.com"[/align]
[align=left]-o /var/www/html/log /var/log/httpd/access_log[/align]
[align=left]说明:[/align]
[align=left]-F clf 指明我们的web日志格式为标准的一般日志文件格式(Common Logfile Format) [/align]
[align=left]-p 指定使用递增模式,这就是说每作一次分析后,webalizer会生产一个历史文件,这样下一次分析时就可以不分析已经处理过的部分。这样我们就可以在短时间内转换我们的日志文件,而不用担心访问量太大时日志文件无限增大了。 [/align]
[align=left]-n “ “ 指定服务器主机名为空,这样输出结果会美观一些。 [/align]
[align=left]-o “www.test.com” 指定输出结果标题. [/align]
[align=left]/var/log/httpd/access_log:指定日志文件[/align]
[align=left]然后在/etc/crontab中加入: [/align]
[align=left]01 1 * * * root /etc/rc.d/webalizer[/align]
[align=left]即每天凌晨1点执行该脚本。 [/align]
[align=left][root@localhost sbin]# vim /etc/crontab[/align]



[align=left]然后运行/etc/rc.d/init.d/crond reload重载入crond服务。[/align]
[align=left][root@localhost sbin]# /etc/rc.d/init.d/crond reload[/align]
[align=left]重新载入 cron 守护进程配置: [确定][/align]
[align=left][root@localhost sbin]#[/align]



[align=left]测试:[/align]
[align=left]执行以下命令: [/align]
[align=left]# /etc/rc.d/webalizer[/align]



[align=left]因为刚才拷贝的时候没有加 –p参数,所以提醒执行权限不够,所以此处就把执行权限给加上了。然后在执行刚才的命令:[/align]
[align=left][root@localhost ~]# /etc/rc.d/webalizer[/align]
[align=left]然后在浏览器中访问http://www.test.com/log/就可以看到webalizer的分析结果了。 [/align]
[align=left]注意:如果您使用了中文语言文件,但是您的linux不支持中文,则在产生的图片中文字可能为乱码。[/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息