说到web服务器就不得不说Nginx,目前已成为企业建站的首选。但由于种种历史原因,Nginx日志分析工具相较于传统的apache、lighthttp等还是少很多。

今天就和大家分享一个非常强大的实时日志分析工具,它安装简单,功能强大,支持Nginx日志格式,是新一代互联网企业手中又一犀利武器!

GoAccess是一个实时的Apache / Nginx / Lighttpd Web日志分析器和交互式查看器,可在终端中运行,能为系统管理员提供快速且有价值的 HTTP 统计,并以在线可视化服务器的方式呈现。

GoAccess功能特征

GoAccess解析指定的Web日志文件并将数据输出到X终端。功能包括:

  • 完全实时,所有面板和指标定时在终端输出上每200 ms更新一次,在HTML输出上每秒更新一次。

  • 跟踪应用程序响应时间,如果您想跟踪减慢网站速度的网页,会非常有用。

  • 支持几乎所有Web日志格式, GoAccess允许任何自定义日志格式字符串。

  • 支持增量日志处理,GoAccess能够通过磁盘上的B + Tree数据库逐步处理日志,保持数据持久性。

  • 可定制配色方案,Tailor GoAccess以适合您自己的色彩品味/方案。

  • 支持大型数据集,GoAccess 为大型数据集提供磁盘B +树存储,无法将所有内容都安装在内存中。

  • Docker支持,能够从上游构建GoAccess的Docker镜像。

GoAccess被设计成一个基于终端的快速日志分析器。实时快速分析和查看Web服务器统计信息,无需使用你的浏览器。虽然终端输出是默认输出,但它能够生成完整的,自包含的实时HTML 报告,以及JSON和 CSV报告。

官网传送门:https://goaccess.io/

在Linux上使用Nginx安装GoAccess

  • 在Ubuntu Linux上安装GoAccess

$ sudo apt-get install goaccess 
  • 在Debian Linux上安装GoAccess

$ sudo apt-get install goaccess 
  • 在CentOS Linux上安装GoAccess

首先打开EPEL repo并输入以下yum命令:

$ sudo yum install epel-release 
$ sudo yum install goaccess 
  • 使用源代码方法安装GoAccess

输入以下命令以在类Unix系统上下载和编译GoAccess:

$ cd /tmp 
$ wget http://tar.goaccess.io/goaccess-1.2.tar.gz 
$ tar -zxvf goaccess-1.2.tar.gz 
$ cd goaccess-1.2/ 
$ ./configure --enable-utf8 --enable-geoip=legacy && make 
$ sudo make install 

GoAccess常用语法

goaccess -f /path/to/nginx/access.log 
goaccess -f /path/to/apache/access.log 
goaccess -f /path/to/lighttpd/access.log 
goaccess -f /path/to/lighttpd/access.log /path/to/lighttpd/access.log.1 
zcat /path/to/nginx/access.log.*.gz | goaccess access.log - 
goaccess [options] /path/to/lighttpd/access.log 

GoAccess实践

如何通过实时报告在屏幕上看到输出?

goaccess -f /var/log/nginx/access.log 

置日志文件的日志格式

在屏幕上查看交互式报告,报告如下:

如何生成HTML报告?

语法为:

goaccess -f /var/log/nginx/access.log --log-format=COMBINED -o www.lovelinux.com.log.htm

可视化实时Web日志分析工具-goaccess的更多相关文章

  1. 日志分析工具--GoAccess的安装部署

    需求:及时得到线上用户访问日志分析统计结果,以便给开发.测试.运维.运营人员提供决策! 方案:GoAccess,图文并茂,而且速度快,每秒8W 的日志记录解析速度,websocket10秒刷新统计数据 ...

  2. 可视化web日志分析工具Logstalgia

    https://blog.csdn.net/zrools/article/details/47250661

  3. nginx 日志分析工具goaccess

    参考:https://www.goaccess.io/download 安装 $ wget http://tar.goaccess.io/goaccess-1.1.1.tar.gz $ tar -xz ...

  4. WEB日志分析工具(Webslizer和AWstats)

    https://www.cnblogs.com/xiaowenshu/p/10030139.html#top

  5. GoAccess日志分析工具使用文档

    ----Sevck 2016/3/4 17:24:13 #1软件说明: GoAccess是一款开源.实时,运行在命令行终端下的web日志分析工具.该工具提供快速.多样的HTTP状态统计,可以令管理员不 ...

  6. goaccess nginx日志分析工具简单使用

    goaccess 是一个比较方便的支持实时的日志分析工具,比较方便,同时安装&&配置简单 安装 centos yum yum install -y goaccess 运行 我的ngin ...

  7. Linux 日志分析工具之awstats

    一.awstats 是什么 官方网站:AWStats is a free powerful and featureful tool that generates advanced web, strea ...

  8. 可视化日志分析工具Gltail的安装与使用

    可视化日志分析工具Gltail的安装与使用      GlTail.rb 是一款带有浓郁的 Geek 风格的可视化日志分析工具,它采用 Ruby 技术构建,并利用 OpenGL 图形技术进行渲染,呈现 ...

  9. Eventlog Analyzer日志管理系统、日志分析工具、日志服务器的功能及作用

    Eventlog Analyzer日志管理系统.日志分析工具.日志服务器的功能及作用 Eventlog Analyzer是用来分析和审计系统及事件日志的管理软件,能够对全网范围内的主机.服务器.网络设 ...

随机推荐

  1. java.sql.SQLSyntaxErrorException: ORA-01722: 无效数字

    ### Error updating database. Cause: java.sql.SQLSyntaxErrorException: ORA-01722: 无效数字 ### The error ...

  2. iOS:WKWebView(19-01-31更)

    以前用得不多,先开一篇,以后有遇到再补充. 1.返回 2.JS 调用 OC 3.获取.修改.添加网页信息 1.返回 if (self.mWebView.canGoBack == YES) { [sel ...

  3. day 83 Vue学习三之vue组件

    本节目录 一 什么是组件 二 v-model双向数据绑定 三 组件基础 四 父子组件传值 五 平行组件传值 六 xxx 七 xxx 八 xxx 一 什么是组件 首先给大家介绍一下组件(componen ...

  4. 《Java程序设计》第二学习总结

    <Java程序设计>第二学习总结 教材学习内容总结 类型 byte(字节) shot(短整型) int(整型) long(长整型) float(浮点型) double(双精度) char( ...

  5. 20155327《Java程序设计》第八周学习总结

    20155327<Java程序设计>第八周学习总结 教材学习内容总结 第12章 进程与线程 进程的完成过程:代码加载.执行至执行完毕 线程:一个进程由多个线程组成. 线程的完成过程:自身的 ...

  6. [CF1027F]Session in BSU[最小基环树森林]

    题意 有 \(n\) 门课程,每门课程可以选择在 \(a_i\) 或者 \(b_i\) 天参加考试,每天最多考一门,问最早什么时候考完所有课程. \(n\leq 10^6\). 分析 类似 [BZOJ ...

  7. spring整合ehcache注解实现查询缓存,并实现实时缓存更新或删除

    转载: http://www.importnew.com/23358.html 写在前面:上一篇博客写了spring cache和ehcache的基本介绍,个人建议先把这些最基本的知识了解了才能对今天 ...

  8. 中间介(MiddleWare)

    引子-Django的生命周期 在学习中间介之前,我们先来回顾一下Django的生命周期:用户发起请求,请求会被发送到urlconf中的url,然后会指向对应的views函数进行处理,views函数处理 ...

  9. rabbitMQ的三种路由模式

    rabbitMQ工作流程: 1.声明交换机 2.声明消息队列 3.绑定交换机和队列 4.生产者往交换机里发送新消息 5.交换机根据所选的模式和routingKey决定消息发往哪条消息队列 6.一个消费 ...

  10. node.js学习笔记——前序

    一.什么是node.js 简单的说 Node.js 就是运行在服务端的 JavaScript. Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台. Node.js是一 ...