文档章节

最佳Nginx日志分析工具Goaccess

m
 mrco
发布于 2013/12/05 14:50
字数 1031
阅读 28295
收藏 44

非常小又精悍的 Nginx 日志分析工具 Goaccess,处理速度非常快,我用 XShell 查看,还可以生成 html 报告,先看图

最佳 Nginx 日志分析工具 GoAccess   Best Nginx log analyzer a0266da1ac649a3a最佳 Nginx 日志分析工具 GoAccess   Best Nginx log analyzer 3a966303ef6baaf7最佳 Nginx 日志分析工具 GoAccess   Best Nginx log analyzer 4a9096e679782f92

最佳 Nginx 日志分析工具 GoAccess   Best Nginx log analyzer 9a8e462964e4da52最佳 Nginx 日志分析工具 GoAccess   Best Nginx log analyzer 39ca1719fc1c0c9c最佳 Nginx 日志分析工具 GoAccess   Best Nginx log analyzer 639a4ff93e05e519

GoAccess 在 CentOS 上的安装方法:
1. 需要安装 GeoIP, ncurses, glib2, 一句搞定
yum -y install glib2 glib2-devel ncurses ncurses-devel geoIP geoIP-devel

2. 下载 GoAccess 解压编译安装

# wget http://jaist.dl.sourceforge.net/project/goaccess/0.6.1/goaccess-0.6.1.tar.gz
# tar zxvf goaccess-0.6.1.tar.gz
# cd goaccess-0.6.1
# ./configure –enable-geoip –enable-utf8
# make && make install
# make clean

 

3. GoAccess 使用方法
进入 Nginx 日志所在目录

命令行直接查看

# goaccess -f access.log -c -a

出来图了,日志格式选 NCSA
最佳 Nginx 日志分析工具 GoAccess   Best Nginx log analyzer 03a6e8d1142c6916

也可以生成 HTML 报告

goaccess -f /var/log/nginx/access.log -a > report.html
zcat -f /var/log/nginx/access.log* | goaccess -a > report.html
zcat access.log.1.gz | goaccess

或者干脆分析目前下所有日志

zcat access.log* | goaccess

如果需要分析某天的日志,例如10月5号那天的日志,我们让linux管道命令来大显身手^_^。

sed -n ‘/05\/Dec\/2010/,$ p’ access.log | goaccess -s –b

分析从11月5号到12月5号一个月内的日志

sed -n ‘/5\/Nov\/2010/,/5\/Dec\/2010/ p’ access.log | goaccess -s –b

当你不希望在服务器上安装goaccess程序,可以通过调用本地的goaccess程序来分析服务器上的日志(很神奇吧^_^):

ssh user@server ‘cat /var/log/apache2/access.log’ | goaccess -s -a

 

最让我兴奋的功能是goaccess支持排序!这样你就可以tab到request这个模块,而后按s,
跳出来的对话框选择“Time Serverd”  “DESC”  这样你就可以非常清楚的知道你的网站是哪些页面响应很慢了!

附下我的NGINX日志格式:

log_format  main  ’$remote_addr – $remote_user [$time_local] “$request” ‘

            ‘$status $body_bytes_sent “$http_referer” ‘
            ‘”$http_user_agent”   $request_time‘;
 
再附下我的~/.goaccessrc配置:

color_scheme 0
date_format %d/%b/%Y
log_format %h %^[%d:%^] “%r” %s %b “%R” “%u” %T

============================================================================================
goaccess高级设定:

for Apache HTTP Server 预设设定:

CustomLog logs/access_log common可选Common Log Format (CLF)
CustomLog logs/access_log combined可选NCSA Combined Log Format

for Lighttpd mod_accesslog预设格式 : (需于GoAccess设定画面手动编辑Log Format)

Log Format: %h %^ %^ [%d:%^] “%r” %s %b “%R” “%u”
Date Format: %d/%b/%Y

完成设定后产生~/.goaccessrc,日后执行goaccess -f /var/log/httpd/access_log不会再跳出这个设定画面;若要修改设定,可加上-c参数,例如: goaccess -c -f / var/log/httpd/access_log或直接编辑设定档案vi ~/.goaccessrc

基本操作

goaccess -f /var/log/httpd/access_log

t:回到顶端
b:卷到最末
q:关闭视窗或离开程式
上下方向键:卷动画面
数字键0 ~ 9,接着按英文字母o或右方向键:查看某项目的细节(*注)

*注: 0 表示第十项; Shift + 1 表示第十一项

排除统计某来源IP 
goaccess -e 123.123.123.123 -f /var/log/httpd/access_log

检视Host详细资料的时候显示来自该Host的User-Agents资讯
goaccess -a -f /var/log/httpd/access_log

产生HTML报表(静态报表) 
goaccess -a -f /var/log/httpd/access_log > result.html

只统计来自某IP的记录
grep ^123.123.123.123 /var/log/httpd/access_log | goaccess

注:目前GoAccess无法即时统计pipe进来的资料,日后改版或许会补强这部份(Ref: man goaccess )

Trouble Shooting

无法使用F1 检视help 讯息的替代方案

Ctrl + h

无法使用F10 完成设定画面的替代方案

vi ~/.goaccessrc

color_scheme 1
date_format %d/%b/%Y
log_format %h %^ %^ [%d:%^] "%r" %s %b "%R" "%u"

其他log_format 参考:

Common Log Format (CLF): %h %^[%d:%^] "%r" %s %b
Common Log Format (CLF) with Virtual Host: %^:%^ %h %^[%d:%^] "%r" %s %b
NCSA Combined Log Format: %h %^[%d:%^] "%r" %s %b "%R" "%u"
NCSA Combined Log Format with Virtual Host: %^:%^ %h %^[%d:%^] "%r" %s %b "%R" "%u"
W3C: %d %^ %h %^ %^ %^ %^ %r %^ %s %b %^ %^ %u %R

变更热键

cd /path/to/goaccess-0.5

vi goaccess.c

#将F1热键改为F2
找到[F1]Help [O]pen detail view 
改为[ F2 ]Help [O]pen detail view

找到Case 265: 
改为Case 266 :

vi commons.c

#将Help讯息的F1改为F2
找到” ^F1^ or ^CTRL^ + ^h^ [main help]“, 
改为” ^ F2 ^ or ^CTRL^ + ^h^ [main help]“,

vi goaccess.1

#将manpage的F1字眼改为F2
找到.IP “F1″ 
改为.IP “ F2 ”

vi settings.c

#将F10热键改为F9
找到mvwprintw (win, 2, 2, “[SPACE] to toggle – [F10] to proceed”); 
改为mvwprintw (win, 2, 2, “[SPACE] to toggle – [ F9 ] to proceed”);

找到Case 274: 
改为Case 273 :


© 著作权归作者所有

共有 人打赏支持
m
粉丝 0
博文 1
码字总数 1031
作品 0
成都
私信 提问
加载中

评论(4)

深爱着你们
深爱着你们
不错,正准备使用
forevervas
forevervas

引用来自“sidney9111”的评论

不错,有windows版本么
windows版看这里,http://wp.iyouths.org/306.html
sidney9111
sidney9111
就是图太小
sidney9111
sidney9111
不错,有windows版本么
利用GoAccess分析Nginx访问日志

原文链接:https://blog.csdn.net/yown/article/details/56027112 需求:及时得到线上用户访问日志分析统计结果,以便给开发、测试、运维、运营人员提供决策! 找了各种工具,最终还是觉得g...

大松哥
2018/06/24
0
0
goaccess实时查看nginx日志

目标 使用goaccess在浏览器上面实时查看nginx的日志。 步骤 安装goaccess 登录CentOS服务器,使用yum安装goaccess: centos7的yum中没有goaccess,接下来只有手动编译安装了。 安装依赖 手动安...

亚林瓜子
2018/12/27
0
0
nginx日志分析工具goaccess

goaccess是一个命令行下执行的nginx日志分析工具,找了篇文章参考安装 http://blog.chinaunix.net/uid-24250828-id-3369023.html 实际在安装运行过程中碰到几个问题(我的系统是centos 6.3):...

dijin
2013/09/13
0
0
GoAccess分析多个nginx日志文件,了解访问的情况

需求:由于nginx日志一般都会做日志切割,所以需要对多个文件进行日志分析 1、 把所有的日志放到一个文件夹,如20171019-20171020 2、 将文件夹打包 tar -czvf 20171019-20171020.tar.gz 201...

maolujun
2017/10/21
0
0
nginx 访问日志分析工具 goacess

20150702 nginx 访问日志分析 goacess 1.安装GoAccess需要一些系统支持库 yum install glib2 glib2-devel GeoIP-devel ncurses-devel zlib zlib-devel 2.如果yum库找不到Geo-IP 那么需要单独......

hua_zi
2015/08/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

第11章 多线程

程序、进程、线程 程序(program)是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。 **进程(process)**是程序的一次执行过程或是正在运行的一个程序。动...

流小文
29分钟前
3
0
SpringBoot引入第三方jar包或本地jar包的处理方式

在开发过程中有时会用到maven仓库里没有的jar包或者本地的jar包,这时没办法通过pom直接引入,那么该怎么解决呢 一般有两种方法 - 第一种是将本地jar包安装在本地maven库 - 第二种是将本地j...

独钓渔
今天
2
0
五、MyBatis缓存

一、MyBatis缓存介绍 缓存的使用可以明显的加快访问数据速度,提升程序处理性能,生活和工作中,使用缓存的地方很多。在开发过程中,从前端-->后端-->数据库等都涉及到缓存。MyBatis作为数据...

yangjianzhou
今天
2
0
最近研究如何加速UI界面开发,有点感觉了

最近在开发JFinal学院的JBolt开发平台,后端没啥说的,做各种极简使用的封装,开发者上手直接使用。 JBolt开发平台包含常用的用户、角色、权限、字典、全局配置、缓存、增删改查完整模块、电...

山东-小木
今天
3
0
《月亮与六便士》的读后感作文3000字

《月亮与六便士》的读后感作文3000字: 看完英国作家威廉.萨默塞特.毛姆所著《月亮与六便士》(李继宏译),第一疑问就是全书即没提到“月亮”,也没提到“六便士”。那这书名又与内容有什么...

原创小博客
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部