设为首页 收藏本站
查看: 674|回复: 0

[经验分享] 使用webalizer分析Nginx日志

[复制链接]

尚未签到

发表于 2018-11-10 09:16:09 | 显示全部楼层 |阅读模式
  使用webalizer分析Nginx日志
一、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
  下面是生成的网页文件
DSC0000.jpg

  为了让网页文件动态更新,可以把命令写入定时任务,定时执行。
  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.kimnote.com
  -o dir = output directory to use //指定输出目录,分析结果将会保存到这个目录

  -t name = report>  -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。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-633102-1-1.html 上篇帖子: Nginx vhost 多域名配置 下篇帖子: 12.6 Nginx安装 12.7 默认虚拟主机 12.8 Nginx用户认证 12.9 Nginx-A18718的博客
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表