使用webalizer分析nginx 访问日志

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

webalizer是一个高效的、免费的web服务器日志分析程序。其分析结果以HTML文件格式保存,从而可以很方便的通过web服务器进 行浏览。Internet上的很多站点都使用webalizer进行web服务器日志分析。Webalizer具有以下一些特性:

1. 为是用C写的程序,所以其具有很高的运行效率。在主频为200Mhz的机器上,webalizer每秒钟可以分析10000条记录,所以分析一个40M大小的日志文件只需要15秒。

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

3. 支持命令行配置以及配置文件。

4. 可以支持多种语言,也可以自己进行本地化工作。

5. 支持多种平台,比如UNIX、linux、NT, OS/2 和 MacOS等。

下载地址:

ftp://ftp.mrunix.net/pub/webalizer/webalizer-2.23-05-src.tgz

[root@Www.wangyuelou.org webalizer-2.23-05]# tar xf webalizer-2.23-05-src.tgz

[root@Www.wangyuelou.org webalizer-2.23-05]# ./configure --with-language=chinese

[root@Www.wangyuelou.org webalizer-2.23-05]# make

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

[root@Www.wangyuelou.org webalizer-2.23-05]# ls -l weba*

-rwxr-xr-x 1 root root 167563 May 20 15:16 webalizer

[root@Www.wangyuelou.org webalizer-2.23-05]# cp webalizer /usr/bin/

弄完之后就可以配置webalizer了.

配置:

上面说过,可以通过命令行配置webalizer,也可以通过配置文件进行配置,在本文中我们将介绍使用命令行参数进行配置,需要了解配置文件使用方法的朋友可以参考README文件,里面有很详细的介绍。

可以执行webalizer –h得到所有命令行参数:

[root@Www.wangyuelou.org webalizer-2.23-05]# webalizer -h

Usage: webalizer [options] [log file]

-h = print this help message

-V = print version information

-v = be verbose

-d = print additional debug info

-F type = Log type. type= (clf | ftp | squid | w3c)

-f = Fold sequence errors

-i = ignore history file

-p = preserve state (incremental)

-b = ignore state (incremental)

-q = supress informational messages

-Q = supress _ALL_ messages

-Y = supress country graph

-G = supress hourly graph

-H = supress hourly stats

-L = supress color coded graph legends

-l num = use num background lines on graph

-m num = Visit timout value (seconds)

-T = print timing information

-c file = use configuration file 'file'

-n name = hostname to use

-o dir = output directory to use

-t name = report title 'name'

-a name = hide user agent 'name'

-r name = hide referrer 'name'

-s name = hide site 'name'

-u name = hide URL 'name'

-x name = Use filename extension 'name'

-O name = Omit page 'name'

-P name = Page type extension 'name'

-I name = Index alias 'name'

-K num = num months in summary table

-k num = num months in summary graph

-A num = Display num top agents

-C num = Display num top countries

-R num = Display num top referrers

-S num = Display num top sites

-U num = Display num top URLs

-e num = Display num top Entry Pages

-E num = Display num top Exit Pages

-g num = Group Domains to 'num' levels

-X = Hide individual sites

-z dir = Use country flags in 'dir'

假设,web服务器的主机名www.wangyuelou.org,统计站点为op.wangyuelou.org,访问日志为/app/log/wangyuelou.access.log.我们将分析结果输入到/home/wwwroot/log(统计站点的根目录)下面.我们可以建立如下脚本.

#!/usr/bin

run=/usr/sbin/webalizer

$run -F clf -p -n '' -t 'www.wangyuelou.org' -o /home/wwwroot/log /app/log/wangyuelou.access.log

-F clf 指明我们的web日志格式为标准的一般日志文件格式(Common Logfile Format)

-p 指定使用递增模式,这就是说每作一次分析后,webalizer会生产一个历史文件,这样下一次分析时就可以不分析已经处理过的部分。这样我们就可以在短时间内转换我们的日志文件,而不用担心访问量太大时日志文件无限增大了。

-n “ “ 指定服务器主机名为空,这样输出结果会美观一些。

-t “www.test.com” 指定输出结果标题。

-o 指定输出目录

/var/log/httpd/access_log:指定日志文件

测试

[root@www log]# $run -F clf -p -n '' -t 'www.wangyuelou.org' -o /home/wwwroot/log /app/log/Noname1.txt

Webalizer V2.23-05 (Linux 2.6.18-238.9.1.el5xen x86_64) English

Using logfile /app/log/Noname1.txt (clf)

Creating output in /home/wwwroot/log

History file not found...

Previous run data not found...

Saving current run data... [04/07/2011 11:01:08]

Generating report for April 2011

Saving history information...

Generating summary report

42 records in 1 seconds, 42/sec

分析的是nginx的日志,可能会因为nginx的设置多了一个空格 而不能分析出来.这点需要仔细排查.

clip_image002



     本文转自 珏石头 51CTO博客,原文链接:http://blog.51cto.com/gavinshaw/569820,如需转载请自行联系原作者




相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
18天前
|
数据可视化 关系型数据库 MySQL
ELK实现nginx、mysql、http的日志可视化实验
通过本文的步骤,你可以成功配置ELK(Elasticsearch, Logstash, Kibana)来实现nginx、mysql和http日志的可视化。通过Kibana,你可以直观地查看和分析日志数据,从而更好地监控和管理系统。希望这些步骤能帮助你在实际项目中有效地利用ELK来处理日志数据。
190 90
|
14天前
|
域名解析 应用服务中间件 网络安全
阿里云个人博客外网访问中断应急指南:从安全组到日志的七步排查法
1. 检查安全组配置:确认阿里云安全组已开放HTTP/HTTPS端口,添加规则允许目标端口(如80/443),授权对象设为`0.0.0.0/0`。 2. 本地防火墙设置:确保服务器防火墙未阻止外部流量,Windows启用入站规则,Linux检查iptables或临时关闭防火墙测试。 3. 验证Web服务状态:检查Apache/Nginx/IIS是否运行并监听所有IP,使用命令行工具确认监听状态。 4. 测试网络连通性:使用外部工具和内网工具测试服务器端口是否开放,排除本地可访问但外网不可的问题。 5. 排查DNS解析:确认域名A记录指向正确公网IP,使用`ping/nslookup`验证解析正
46 2
|
3月前
|
监控 应用服务中间件 定位技术
要统计Nginx的客户端IP,可以通过分析Nginx的访问日志文件来实现
要统计Nginx的客户端IP,可以通过分析Nginx的访问日志文件来实现
306 3
|
6月前
|
设计模式 SQL 安全
PHP中的设计模式:单例模式的深入探索与实践在PHP的编程实践中,设计模式是解决常见软件设计问题的最佳实践。单例模式作为设计模式中的一种,确保一个类只有一个实例,并提供全局访问点,广泛应用于配置管理、日志记录和测试框架等场景。本文将深入探讨单例模式的原理、实现方式及其在PHP中的应用,帮助开发者更好地理解和运用这一设计模式。
在PHP开发中,单例模式通过确保类仅有一个实例并提供一个全局访问点,有效管理和访问共享资源。本文详细介绍了单例模式的概念、PHP实现方式及应用场景,并通过具体代码示例展示如何在PHP中实现单例模式以及如何在实际项目中正确使用它来优化代码结构和性能。
83 2
|
7月前
|
应用服务中间件 nginx
nginx error日志 client intended to send too large body: 1434541 bytes 如何处理?
【8月更文挑战第27天】nginx error日志 client intended to send too large body: 1434541 bytes 如何处理?
584 6
|
4月前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
1369 31
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
3月前
|
监控 安全 Apache
什么是Apache日志?为什么Apache日志分析很重要?
Apache是全球广泛使用的Web服务器软件,支持超过30%的活跃网站。它通过接收和处理HTTP请求,与后端服务器通信,返回响应并记录日志,确保网页请求的快速准确处理。Apache日志分为访问日志和错误日志,对提升用户体验、保障安全及优化性能至关重要。EventLog Analyzer等工具可有效管理和分析这些日志,增强Web服务的安全性和可靠性。
103 9
|
1月前
|
存储 SQL 关系型数据库
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log、原理、写入过程;binlog与redolog区别、update语句的执行流程、两阶段提交、主从复制、三种日志的使用场景;查询日志、慢查询日志、错误日志等其他几类日志
135 35
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log
|
12天前
|
监控 Java 应用服务中间件
Tomcat log日志解析
理解和解析Tomcat日志文件对于诊断和解决Web应用中的问题至关重要。通过分析 `catalina.out`、`localhost.log`、`localhost_access_log.*.txt`、`manager.log`和 `host-manager.log`等日志文件,可以快速定位和解决问题,确保Tomcat服务器的稳定运行。掌握这些日志解析技巧,可以显著提高运维和开发效率。
72 13
|
15天前
|
缓存 Java 编译器