Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Awstats性能问题及其他工具的对比分析

Awstats性能问题及其他工具的对比分析

作者头像
大江小浪
发布于 2018-07-24 06:00:32
发布于 2018-07-24 06:00:32
82600
代码可运行
举报
文章被收录于专栏:小狼的世界小狼的世界
运行总次数:0
代码可运行

在之前的一篇文章中,我通过资料的查阅分析了一些比较流行的日志分析工具,最后选用了 Awstats + Jawstats 的组合,既能够对现有的日志进行分析,也能够提供比较美观的报表界面。但是,随着使用的深入发现,awstats 的分析速度实在是无法接受。大概的介绍一下我的环境,我们有几个产品群,有着不同的流量。每天都要进行分析。最大的产品群产生的日志记录,在合并后会超过几个G,这时候用 awstats 进行分析就非常的痛苦。甚至出现过分析过程中产生的临时目录将磁盘占满的情况。

查阅了一些资料后了解,原来awstats官方推荐当访问超过 4,000,000/月的时候,可以使用 analog 或者 webalizer 这两个应用。因此,本篇中记录了对Awstats进行的一些优化以及其他两个软件的试用。

1、Awstats 的性能优化

网上搜索的话,关于 Awstats 优化的文章很多,基本上就是 关闭 DNS 解析,增大 $LimitFlush 的数量,尽可能的利用内存,以及升级 Perl 版本之类的。经过我的实验,发现如果是机器性能本身不是很高的话,特别是内存有限时,想要优化 awstats 的速度是非常困难的。类似于巧妇难为无米之炊,Out of memory 的事情是经常发生的。

Awstats还有一个不太方便的地方,就是对于旧日志不能够进行追加的分析。Awstats每次分析完成后,将当前分析的日期和位置记录在他的数据文件中,进行新的分析之前,会和这个数值进行比较,如果比这个日期早的,会认为是旧日志而PASS过去。经常,为了追加之前某一天的日志,我们需要删除整个月的数据,进行重新的分析。或者我们可以通过手工修改数据文件中的日期和位置,来达到这个目的。不管怎样,都不是一个非常人性化的解决方案。

2、Analog 的试用

Analog是一款小巧的日志分析工具,它具有快速、高可配置性、可扩展、支持32种语言、支持任何平台、免费软件。

Analog的安装比较简单,以至于在官方都没有找到专门的安装介绍。我在CentOS的机器上,只需要进行一次 make 软件就可以使用了。但是,在这之前少不了一些配置。按照文档,我们可以将 make 后的analog 放在我们的web目录下,这样,生成的分析报告,便于通过web进行访问。

拷贝完成后,对目录下的 analog.cfg 进行编辑,以适应我们本地的环境。默认情况下,Analog会自动探测日志的格式,默认自动搜索的日志格式包括the common log format, the NCSA combined format, referrer log and browser log, the W3 extended log format, the Microsoft IIS format, the Netscape format, the WebSTAR format, the WebSite format and the MacHTTP format.,但是如果做了修改或者用了和上述格式不一致的日志,有可能无法探测出来,从而发生下面的错误:

[root@localhost analog]# ./analog

./analog: analog version 6.0/Unix

./analog: Warning F: Can't auto-detect format of logfile

默认的 analog.cfg 配置项非常简单,实际上我们可以有丰富的选项可以配置,比如日志格式、语言类型,analog也支持gz格式的日志和通配符匹配日志。所有这些问题,通过阅读 analog 自带的文档可以得到很好的解决。(文档位于 analog/docs 下,其中默认的 index.html 写成了 indx.html )。

在Analog的配置文件中,通过LOGFILE来指定需要分析的日志,支持多个日志,也支持通配符,还可以在命令行中加入日志文件的位置,非常方便。甚至可以在日志名中支持日期的匹配,这点我觉得挺贴心的。LOGFILE access_log%Y%M.log。对于格式不同的日志,我们既可以单独为某个日志指定格式,也可以统一指定格式。如果我们需要分析 Apache 的日志,通过 APACHELOGFORMT 甚至可以方便将 httpd.conf 定义的日志格式拷贝过来使用。

例如httpd.conf中定义的格式为

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
LogFormat "%h %l %u %t %v \"%r\" %>s %b" myformat
CustomLog /var/log/apache/access.log myformat
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
配置中就可以这样指定
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
APACHELOGFORMAT (%h %l %u %t %v \"%r\" %>s %b)
LOGFILE /var/log/apache/access.log

经过试用,一个单独的800M的日志文件,使用Analog进行分析,几乎就是瞬间完成了统计,总计9.6G的gz日志文件,Analog用了十分钟就能够全部分析完成,速度和awstats真的是不可同日而语。但是如何更方便的处理多日志、多主机的问题,生成便于管理的列表,还需要继续深入研究一下。

3、Webalizer的试用

Webalizer是一款快速的,免费的日志分析软件。能够提供详细的HTML格式的分析报告。他的特点包括:

使用C语言编写,执行速度快,并且是Portable的。在1.6G的笔记本上,每秒钟可以处理70,000条记录。

支持CLF Common Log File 日志格式,NCSA Combined 日志格式,ftp, squid等日志格式,以及gz,bz2日志格式

支持通过配置文件或者命令行进行报告的配置。

支持多种语言,包括中文。

对日志文件的大小没有限制。

支持IPV4和IPV6,支持GeoLocation。

当前的稳定版本是 2.23-03

缺点:不支持多文件分析。在官方的FAQ中看到,webalizer 不支持一个负载均衡系统下的多文件分析。

Webalizer 的安装也比较简单

./configure --prefix=path --with-language=chinese

make

make install

就能够完成安装,webalizer 需要gd库,png库等一些库的支持,如果安装没有成功,可以看到对应的错误提示。我用的centos系统,直接yum install 就可以了。

使用过程中发现一个很杯具的事情,Webalizer不支持自定义的Log日志格式。也就是说,如果我们对默认的apache日志格式进行改变或调整,就没有办法使用webalizer。这是我最终决定弃用他的原因。

但是同样有一件欣慰的事情,就是Webalizer有一个兄弟,Stone Step Webalizer. 这款软件是Webalizer的分支,添加了很多实用的功能。更新也比较活跃,最近一次更新就在上个月。

4、Analog的深入使用

Analog还是很好用的,当然,有一个致命的缺点,就是无法统计Unique Visit 独立访问用户数量。特别是按照每周、每月、每年进行统计的数字。这个统计涉及到大量的计算,对服务器的要求会非常高,而且计算的过程会产生很大量的临时文件,可能作者基于这方面的考虑,没有提供这个数字。

Analog的一些默认配置,我们在编译指出可以通过修改 anlghead.h 文件进行修改,也可以后续通过配置文件进行指定,配置文件可以不止一个,Analog会自动处理合并多个配置文件。虽然有多个配置文件,但是analog还是只生产一份报告。同时可以在命令行中使用 +gother.cfg 的方式调用其他的配置文件,但这样不会阻止读取默认的配置文件。如果我们不希望 analog 读取默认的配置文件,则应该使用 –G 参数。

如果只是希望修改配置文件中的某些配置,可以使用 +C 参数,例如 +C”UNCOMPRESS *.gz gzcat”。

通过 ./analog/analog –settings 我们可以将当前 analog 的配置打印出来,方便我们进行查看。

The LOGFORMAT and APACHELOGFORMAT commands only apply to logfiles specified with a LOGFILE command later in the same configuration file. So you must put theLOGFORMAT above the LOGFILE to which it refers. If you declare your logfiles on the command line, or drag them onto the app on the Mac, you must useDEFAULTLOGFORMAT or APACHEDEFAULTLOGFORMAT instead.

上面这个部分,指出了Analog曾经困惑我几个小时的问题。因为,我在配置文件中制定了日志的格式,然后再命令行中指定了使用哪些日志,但是分析的结果总是报 Warning F 错误:Can't auto-detect format of logfile 。问题原来出在,APACHELOGFORMAT 只能紧跟在 LOGFILE 上面,如果是命令行,就需要使用 APACHEDEFAULTLOGFORMAT 替代了。

需要注意一点的是,虽然我们可以在日志名中使用通配符,但是在文件夹路径上,是不可以使用,这个是analog的限制所在。

参考资料: 1、Awstats性能优化的几个方面

2、Awstats性能优化

3、Awstats旧日志统计

4、Analog下载

5、Webalizer

6、Stone Step Webalizer

7、十款强大的开源日志分析工具

8、各种日志格式

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2010-12-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
awstats分析nginx日志「建议收藏」
看了awstats介绍后,感觉是个好东西,等装好来用的时候,不像那么一回事。awstats说白了就是对nginx,apache产生的日志进行分析。awstats分析出来的数据不准,日志是按照一定的规则来生成的,把访问数据存入到文件中,但是数据存入的时候可能是不全的,awstats分析的时候就有误差。
全栈程序员站长
2022/09/13
5950
awstats分析nginx日志「建议收藏」
awstats 安装
来自 http://www.cnblogs.com/fnng/archive/2012/08/31/2666175.html
全栈程序员站长
2022/09/13
2240
Analog使用中的一些技巧和总结
Analog是一款用来快速处理日志的开源工具,具有很高的效率,但是生成的结果并不美观,本文就analog使用过程中的一些问题进行总结,讨论如何对analog进行深度的定制使用。
大江小浪
2018/07/25
6430
利用AWStat+JAWStat进行Apache访问日志分析
Apache的访问日志中会记录服务器所处理的所有请求,对apache的访问日志进行分析是一种比较传统的形式。虽然现在很多第三方的统计分析工具提供了嵌入到页面中的JS脚本来进行分析的方式,但是因为两种分析方式的侧重点不同,目前两种形式的日志分析仍并行存在。
大江小浪
2018/07/25
6660
利用AWStat+JAWStat进行Apache访问日志分析
centos awstats简单安装教程
Awstats的功能老高就不多介绍了,总之老高觉得比百度站长好用太多,不过在安装此软件过程中老高也遇到了不少坑,网上的安装教程看的人眼花缭乱,针对centos的教程更是无法直视,于是造成了此篇文章诞生,看完你也许会觉得安装Awstats确实不难。
老高的技术博客
2022/12/28
4260
AWStats简介
安装 [url]http://sourceforge.net/projects/awstats/[/url] 下载安装包后: GNU/Linux:tar zxf awstats-version.tgz awstats的脚本和静态文件缺省都在wwwroot目录下:将cgi-bin目录下的文件都部署到 cgi-bin/目录下:/home/apache/cgi-bin/awstats/ mv awstats-version/wwwroot/cgi-bin /path/to/apache/cgi-bin/awstats 把图标等文件目录复制到WEB的HTML文件发布目录下,例如:/home/apache/htdocs/ 下发布 更多的批量更新脚本等在tools 目录下,可以一并放到cgi-bin/awstats/ 目录下 升级国内主要 搜索引擎和蜘蛛定义,安装GeoIP的应用库:C [url]http://www.maxmind.com/download/geoip/api/c/[/url] 解包,编译安装 perl -MCPAN -e ‘install “Geo::IP”‘ 或者使用纯Perl包 perl -MCPAN -e ‘install “Geo::IP::PurePerl”‘ 下载GeoIP/GeoIPCityLite包:解包并部署到awstats目录下:
全栈程序员站长
2022/09/13
4720
Linux 日志分析工具之awstats详解「建议收藏」
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。 http://freeloda.blog.51cto.com/2033581/1346412
全栈程序员站长
2022/09/07
3.4K0
Linux 日志分析工具之awstats详解「建议收藏」
使用webalizer分析Nginx日志
webalizer是一个高效的、免费的web服务器日志分析程序。其分析结果以HTML文件格式保存,从而可以很方便的通过web服务器进行浏览。Internet上的很多站点都使用webalizer进行web服务器日志分析。
星哥玩云
2022/07/14
1K0
使用webalizer分析Nginx日志
日志分析工具Awstats实战之Nginx篇
前言: Awstats 是在 SourceForge 上发展很快的一个基于 Perl 的 WEB 日志分析工具,一个充分的日志分析让 Awstats 显示您下列资料: 访问次数、独特访客人数, 访问时间和上次访问, 使用者认证、最近认证的访问, 每周的高峰时间(页数,点击率,每小时和一周的千字节), 域名/国家的主机访客(页数,点击率,字节,269域名/国家检测, geoip 检测), 主机名单,最近访问和未解析的 IP 地址名单 大多数看过的进出页面, 档案类型, 网站压缩统计表(mod_gzip 或者 mod_deflate), 使用的操作系统 (每个操作系统的页数,点击率 ,字节, 35 OS detected), 使用的浏览器, 机器人访问(检测 319 个机器人), 蠕虫攻击 (5 个蠕虫家族), 搜索引擎,利用关键词检索找到你的地址, HTTP 协议错误(最近查阅没有找到的页面), 其他基于 URL 的个性报导,链接参数, 涉及综合行销领域目的. 贵网站被加入"最喜爱的书签".次数. 屏幕大小(需要在索引页补充一些 HTML 标签). 浏览器的支持比例: Java, Flash, RealG2 reader, Quicktime reader, WMA reader, PDF reader. 负载平衡服务器比率集群报告.
星哥玩云
2022/06/11
1.2K0
日志分析工具Awstats实战之Nginx篇
手把手教你,嘴对嘴传达------Apache日志管理日志(rotatelogs分割工具、AWStats日志分析)
服务安装后,不会生成日志文件不会产生 服务启动后,生成日志文件 访问服务后,日志文件会生成内容
不吃小白菜
2020/09/03
9020
手把手教你,嘴对嘴传达------Apache日志管理日志(rotatelogs分割工具、AWStats日志分析)
AWStats日志分析系统
AWStats是一款功能强大且功能强大的免费工具,可以图形方式生成高级Web,流媒体,ftp或邮件服务器统计信息。此日志分析器用作CGI或命令行, 并在几个图形网页中显示您的日志包含的所有可能信息。 它使用部分信息文件来经常快速地处理大型日志文件。它可以分析来自所有主要服务器工具的日志文件,如Apache日志文件(NCSA组合/ XLF / ELF日志格式或通用/ CLF日志格式),WebStar,IIS(W3C日志格式)以及许多其他Web,代理,wap,流服务器,邮件服务器和一些ftp服务器。 关于AWStats与其他日志分析系统的对比可以查看:https://awstats.sourceforge.io/docs/awstats_compare.html
惨绿少年
2018/12/12
1.7K0
Windows下Apache的配置文件httpd.conf
apache的配置文件一直看得我云里雾里的,今天好好把配置文件研究了一下,还是有点收获的。 看httpd.conf的内容,它主要分成3大部分:
老高的技术博客
2022/12/27
1.5K0
awstats mysql_Awstats 配置详解
[root@test src]# wget http://prdownloads.sourceforge.net/awstats/awstats-6.95.tar.gz [root@test src]# tar zxvf awstats-6.95.tar.gz [root@test src]# mv awstats-6.95 /usr/local/awstats [root@test src]# mkdir /var/lib/awstats [root@test awsta
全栈程序员站长
2022/09/13
5240
Fedora下安装日志分析工具AWStats
之前用Google Analytics分析网站,觉得多一次请求,对用户不太好,于是自己分析统计apache log。大约花了一个小时安装测试awstats,比预期的要顺利。
星哥玩云
2022/07/03
2470
GoAccess: 实时分析Nginx日志的轻量级工具
十多年前我曾使用GoAccess搭建了一个NGINX日志分析工具,它以其轻量级、低资源消耗和实时更新的特性,非常适合个人和小站点使用。最近我的服务器做了次搬家,需要重新搭建日志分析系统,于是到网上查找GoAccess的用法时,发现官方站点的文档还是一如既往的晦涩,而其他站点介绍的用法则与我要搭建的架构不契合。所以干脆做了次总结,在这篇文章中,我将分享我如何搭建GoAccess,并使其通过Websocket协议提供实时日志分析。我的架构部署图如下所示:
陶辉
2024/09/06
9890
GoAccess: 实时分析Nginx日志的轻量级工具
Awstats日志分析工具 nginx配置
https://www.cnblogs.com/bestzhang/p/6669878.html
用户5760343
2022/05/19
8310
Awstats日志分析工具 nginx配置
awstats安装流程「建议收藏」
CustomLog ” /var/log/httpd/access_log” combined
全栈程序员站长
2022/09/13
1.1K0
Nginx日志分析工具GoAccess使用详解
如果把运维看做是医生给病人看病,则日志就是病人对自己的陈述,很多时候医生需要通过对病人的描述中得出病人状况,是否严重,需要什么计量的药,什么类型的药。所以古人有句话叫对症下药,这个症就是病人的描述加医生的判断,在重一点的病在加上很多的化验。在医生看病时病人的描述和化验单上的数据对医生是非常重要的。同理日志在运维中的作用也是类似的,但非常不幸,日志在很多运维中被严重低估,直到磁盘空间不足的时候才想到,这有个大的日志文件把他删了,这样可以节省空间。
星哥玩云
2022/07/19
1.6K0
Nginx日志分析工具GoAccess使用详解
Apache 配置与应用
Apache HTTP Server 之所以受到众多企业的青睐,得益于其源代码开源,跨平台、功能模块化、可灵活定制等优点,其不仅性能稳定,在安全性方面的表现也十分出色。
全栈程序员站长
2022/09/14
5130
Apache 配置与应用
在 Ubuntu 17.10 上安装 AWFFull Web 服务器日志分析应用程序
AWFFull 是基于 “Webalizer” 的 Web 服务器日志分析程序。AWFFull 以 HTML 格式生成使用统计信息以便用浏览器查看。结果以柱状和图形两种格式显示,这有利于解释数据。它提供每年、每月、每日和每小时的使用统计数据,并显示网站、URL、referrer、user agent(浏览器)、用户名、搜索字符串、进入/退出页面和国家(如果一些信息不存在于处理后日志中那么就没有)。AWFFull 支持 CLF(通用日志格式)日志文件,以及由 NCSA 等定义的组合日志格式,它还能只能地处理这些格式的变体。另外,AWFFull 还支持 wu-ftpd xferlog 格式的日志文件,它能够分析 ftp 服务器和 squid 代理日志。日志也可以通过 gzip 压缩。
星哥玩云
2022/07/13
9020
在 Ubuntu 17.10 上安装 AWFFull Web 服务器日志分析应用程序
相关推荐
awstats分析nginx日志「建议收藏」
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验