阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

使用webalizer分析Nginx日志

496次阅读
没有评论

共计 4739 个字符,预计需要花费 12 分钟才能阅读完成。

一、webalizer 简介

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

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

webalizer 支持标准的一般日志文件格式 (Common Logfile Format);除此之外,也支持几种组合日志格式(Combined Logfile Format) 的变种,从而可以统计客户情况以及客户操作系统类型。并且现在 webalizer 已经可以支持 wu-ftpd xferlog 日志格式以及 squid 日志文件格式了。webalizer 支持命令行配置以及配置文件。可以支持多种语言,也可以自己进行本地化工作。webalizer 支持多种平台,比如 UNIX、linux、NT, OS/2 和 MacOS 等。

二、webalizer 详细安装步骤

1、安装相关需要的依赖包软件

[root@www webalizer-2.23-08]# yum -y install jpeg libjpeg-devel libpng-devel zlib-devel fontconfig-devel freetype-devel gd gd-devel libX11-devel libXpm-devel

以上依赖包有的源没有,就需要手动下载安装,如果全部能直接 yum 安装上就更好了。

如果上面的 yum 源没有的包 libjpeg-devel,gd-devel 可以下载后使用下面的不检测依赖关系方式安装,不然会报一堆依赖错误

[root@www ~]# rpm -ivh –force –nodeps gd-devel-2.0.35-11.el6.x86_64.rpm

2、编译安装 webalizer 软件

[root@localhost ~]# tar xf webalizer-2.23-08-src.tgz

[root@localhost ~]# cd webalizer-2.23-08

[root@localhost webalizer-2.23-08]# ./configure –prefix=/usr/local/webalizer –enable-bz2 –enable-geoip

参数说明:

–enable-bz2    打开对 bz2 压缩文件的支持

–enable-geoip  通过 IP 进行位置定位

[root@www webalizer-2.23-08]# make && make install

3、创建相关目录和修改配置文件

[root@www ~]# mkdir /usr/local/nginx-1.12.1/html/webalizer

[root@www ~]# cp /usr/local/etc/webalizer.conf.sample /etc/webalizer.conf

[root@www ~]# vim /etc/webalizer.conf

LogFile        /usr/local/nginx-1.12.1/logs/access.log  需要分析的日志

LogType        clf  定义了正在处理的日志类型

OutputDir      /usr/local/nginx-1.12.1/html/webalizer  webalizer 分析日志输出文件的目录

HistoryName    webalizer.hist  指定 webalizer 生成的历史文件的名称

Incremental    yes  增量处理日志,允许使用多个部分日志文件

IncrementalName        webalizer.current  指定文件名以保存增量数据

ReportTitle    Usage Statistics for  作为标题显示的文本

HostName      192.168.10.10    定义报表的主机名,这是在标题中使用的

上面的配置文件配好后,可以指定配置文件分析日志文件然后生成网页文件

[root@localhost ~]# /usr/local/webalizer/bin/webalizer -c /usr/local/webalizer/etc/webalizer.conf 

Webalizer V2.23-08 (Linux 3.10.0-327.el7.x86_64 x86_64) English

Using logfile /usr/local/nginx-1.12.1/logs/access.log (clf)

Creating output in /usr/local/nginx-1.12.1/html/webalizer

Hostname for reports is ‘192.168.10.10’

Reading history file… webalizer.hist

Reading previous run data.. webalizer.current

Saving current run data… [05/31/2018 18:23:11]

Generating report for May 2018

Saving history information…

Generating summary report

174 records (163 ignored) in 1 seconds, 174/sec

下面是生成的网页文件

使用 webalizer 分析 Nginx 日志

为了让网页文件动态更新,可以把命令写入定时任务,定时执行。

Webalizer 这种工具是把分析的结果形成一个文件,文件里有图片有表格等,并且这个文件可以以网页的形式打开。以下是常用的参数。

-t  指明报告题目的主机名可以是网站的名称

-F 日志格式类型有 clf /ftp/ squid

-p  递增模式,没分析一次后就会产生一个历史文件,这样下次在分析的时候,就可以不处理分析过的部分。

-o  指定存放分析结果内容的文件。

-n  指定的服务器的主机名

三、webalizer 基本使用

1、webalizer 语法格式及参数说明

分析一个 nginx 的 access 日志,并查看 index.html

webalizer access_log

webalizer 参数说明

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 // 指定域名,即分析结果中 url 的前缀。如 http://www.linuxidc.com

-o dir = output directory to use // 指定输出目录,分析结果将会保存到这个目录

-t name = report title‘name’// 报告文件的标题

-a name = hide user agent‘name’// 隐藏 user-agent 信息

-r name = hide referrer‘name’// 隐藏 referrer 信息

-s name = hide site‘name’// 隐藏指定网站信息

-u name = hide URL‘name’// 隐藏指定 url

-x name = Use filename extension‘name’//

-O name = Omit page‘name’// 指定要忽略的页面

-P name = Page type extension‘name’// 指定页面的扩展名,如.do .action .html .php 等。

-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  // 显示 num 个 user-agent 信息

-C num = Display num top countries // 显示 num 个国家信息

-R num = Display num top referrers // 显示 num 个 referrer 信息

-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’

2、webalizer 结果分析

通过 IP 过滤日志

加入你想看到 ip 地址为 123.123.123.123 的访问情况,在 webalizer 的基础上加一个参数 –ip 123.123.123.123。

如果想看 10.10. 开头的 ip,加参数 –ip 10.10. 就可以。

webalizer –ip 123.123.123.123 access_log

webalizer –ip 10.10. access_log

通过时间过滤日志

增加两个参数 –start、–end,格式为 00:00:00、23:59:59。

webalizer –start 01:00:00 –end 09:00:00 access_log

如项查看 凌晨 1 点到上网 9 点的日志,使用如下。

webalizer –start 01:00:00 –end 09:00:00 access_log

3、webalizer 缺点分析

在我使用中发现如下的不足:

日志内容的过滤功能缺失

不能按每秒、每分钟访问量的统计

如果一个服务有多个服务器,则分析起来比较费劲,特别是分析×××行为时

不能同时分析多个文件(第三点)

不能多线程(不是很重要)

界面太难看

4、webalizer 功能扩展

比较遗憾的是 webalizer 没有对指定的 ip、ip 段的分析,也不能支持对某个时间段的分析。

上述功能是很常用的功能,比如,服务器在某个时间段内受到了×××,想找出×××者 ip。之所以 webalizer 分析速度惊人,如果日志是按天滚动的 access 日志,则基本在几秒内就能找出×××者 IP。

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计4739字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7998285
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛 NAS 硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话? 前言 在选择 NAS 用预...
颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

  颠覆 AI 开发效率!开源工具一站式管控 30+ 大模型 ApiKey,秘钥付费 + 负载均衡全...
免费领取huggingface的2核16G云服务器,超简单教程

免费领取huggingface的2核16G云服务器,超简单教程

免费领取 huggingface 的 2 核 16G 云服务器,超简单教程 前言 HuggingFace.co...
你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你 为什么要用宝塔跑分? 宝塔跑分其实就是对 CPU、内存、磁盘、IO 做...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

  星哥带你玩飞牛 NAS-16:飞牛云 NAS 换桌面,fndesk 图标管理神器上线! 引言 哈...
如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装 2026 年最强个人助理 ClawdBot、完整安装教程 一、前言 学不完,根本学不完!近期,一款名...
星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛 NAS 硬件 02:某鱼 6 张左右就可拿下 5 盘位的飞牛圣体 NAS 前言 大家好,我是星...
安装并使用谷歌AI编程工具Antigravity(亲测有效)

安装并使用谷歌AI编程工具Antigravity(亲测有效)

  安装并使用谷歌 AI 编程工具 Antigravity(亲测有效) 引言 Antigravity...
星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛 NAS-11:咪咕视频订阅部署全攻略 前言 在家庭影音系统里,NAS 不仅是存储中心,更是内容...