文档章节

goaccess的使用

gaolongquan
 gaolongquan
发布于 2016/09/01 17:03
字数 750
阅读 154
收藏 1

goaccess 是一个开源的实时日志分析工具,它可以运行在CLI和UI上
官网https://www.goaccess.io/

详解:https://goaccess.io/man
官网有介绍多平台的安装方法,我的是CENTOS系统。
[root@longquan software]# wget -c http://tar.goaccess.io/goaccess-1.0.2.tar.gz
[root@longquan software]# yum -y install ncurses-devel glib2-devel geoip-devel tokyocabinet-devel
[root@longquan software]# tar zxvf goaccess-1.0.2.tar.gz 
[root@longquan software]# cd goaccess-1.0.2
[root@longquan goaccess-1.0.2]# ./configure --enable-geoip --enable-utf8
[root@longquan goaccess-1.0.2]# make && make install
到这里就可以执行goaccess命令拉。
这里我们来讲一下自定义日志格式。
首先我的NGINX日志格式是这样定义的
       log_format  access '$remote_addr - $remote_user [$time_local] $host '
                                   '"$request" $status $body_bytes_sent "$request_body" $request_time '
                                   '"$http_referer" "$http_user_agent" $http_x_forwarded_for '
                                   '$upstream_addr $upstream_response_time';
保存为文件,就不用每次去按照下面的提示按 C 去修改
The configuration file is located under ~/.goaccessrc or %sysconfdir%/goaccess.conf where %sysconfdir% is either /etc/, /usr/etc/ or /usr/local/etc/.
[root@longquan goaccess-1.0.2]# vim  ~/.goaccessrc 
time-format %H:%M:%S
date-format %d/%b/%Y
log-format %^ %^ %^ [%d:%t %^] %v "%r" %s %b "%^" %T "%R" "%u" %h %^ %^

#log-format %h %^ %^ [%d:%t %^] %v "%r" %s %b "%^" %T "%R" "%u" %^ %^ %^
上面需要注意,我想记录http_x_forwarded_for提示格式错误,不能有2个相同变量,所以我的remote_addr记录的SLB的地址,就给跳过了,我们要的是真实的用户地址
然后开始执行
[root@longquan goaccess-1.0.2]# goaccess -f /data/wwwlogs/www.domain.com.log -p ~/.goaccessrc 
小家伙跑得还得快的,一会华丽丽的刷除了个界面,我们按下1,2,3,4,5。。。查看模块
这个工具主要就是日志格式自定义的比较麻烦,刚好看到这个网址有人已经踩过坑了。
http://blog.csdn.net/iamxiaoxiong/article/details/50527041
为了设置正确的log format,踩了不少坑,先列出来避免大家重复碰到。 
(1) log format默认是按照空格分隔日志信息的,所以,对于包含了特殊字符如空格等信息的字段,必须包含在“”里面。如字段request http_user_agent等 
(2) nginx日志格式里面,采用空格分隔,但是此处一定注意,只能用一个空格。当时我有个地方用了两个空格,直接导致goaccess结果出错。 
(3) nginx日志中的每一个字段都要和log format中的一一对应,如果log format中不需要nginx中的某一个信息,则用%^跳过该信息。 
(4) 对于nginx日志中的每一个 -, log format都需要一个%^来跳过, 如果是“-”, 则用“%^” 
(5) 如果nginx日志信息中有:, 则需要在log format中也显示出来。例如nginx日志中$time_local就包含了:,所以在log format的相应位置也是 [%d:%t %^]

希望这些能帮助使用goaccess的朋友。

q是退出当前窗口,直到退出程序
0-9 是选择模块
按TAB选中模块,按s跳出来的窗口选择排序
排除统计某来源IP 
goaccess -f /data/wwwlogs/www.domain.com.log -p ~/.goaccessrc  -e 123.164.52.240 
产生HTML报表(静态报表) 或者重定向> /opt/1.html 可以写脚本每天更新
goaccess -f /data/wwwlogs/www.domain.com.log -p ~/.goaccessrc -o /opt/1.html
 

重要:看官网的FAQ

© 著作权归作者所有

共有 人打赏支持
上一篇: MySQL之权限管理
下一篇: ngxtop的使用
gaolongquan
粉丝 11
博文 145
码字总数 53464
作品 0
厦门
运维
私信 提问
goaccess实时查看nginx日志

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

亚林瓜子
2018/12/27
0
0
最佳Nginx日志分析工具Goaccess

非常小又精悍的 Nginx 日志分析工具 Goaccess,处理速度非常快,我用 XShell 查看,还可以生成 html 报告,先看图 GoAccess 在 CentOS 上的安装方法: 1. 需要安装 GeoIP, ncurses, glib2, 一...

mrco
2013/12/05
0
4
在Linux系统的Centos6.3中使用GoAccess可视化的分析Nginx日志文件

1.安装GoAccess需要一些系统支持库 yum install glib2 glib2-devel GeoIP-devel ncurses-devel zlib zlib-devel 2.如果yum库找不到Geo-IP 那么需要单独安装了. cd /usr/local/srcwget http:......

江边望海
2014/07/06
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
利用GoAccess分析Nginx访问日志

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

大松哥
2018/06/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

JFinal开发的旅游线路营销Saas平台演示系统我部署了一个

今天部署了一个旅游线路营销管理系统的演示版: 演示地址:http://lvyou.jfinalxueyuan.com 演示账号:(暂时只给一个门店版的吧,批发商和总部的如果需要 演示看看 单独联系我微信:1876673...

山东-小木
今天
2
0
如何学习大数据技术

学习大数据技术,首先要明确大数据的概念。 大数据的概念作者认为有如下几点: 1.数据的来源多样性。例如关系数据库+文本+excel等 2.数据量大。TB级别的数据。 3.业务应用领域。实时性高与实...

董黎明
今天
3
0
开箱即用(out-of-box)的Redis序列号生成器,不用再写任何代码,你值得拥有

先看整体效果 把简单的东西“傻瓜化”是软件开发追求的目标之一。请看下图: 左边是在 application.yml 里配置了3个生成器,右边可以直接注入到代码中使用,注意,不用写任何代码。这酸爽。 ...

花漾年华
今天
1
0
算法我也不知道有没有下一个---一个题目的开端(索引堆与图)

病痛了一周,折磨来折磨去,终于还是平静了下来,现在能把上周末"贯穿"学到的最后一个基础数据结构的知识给沉淀沉淀了。也是即将再单位分享的东西:图论。这东西,想当年大二,学校的时候,只...

心中的理想乡
今天
1
0
Synchronized和Lock的区别

锁类型: 可重入锁:在执行对象中所有的同步方法时,不必再次去获取锁 可中断锁:在等待获取锁过程中可中断 读写锁:对线程的读写分为两个部分,读过程中多线程可一起访问readLock,写过程中...

最胖的瘦子
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部