日志分析工具 GoAccess v1.3 发布,支持简体中文

mulan 2018-12-20 13:25:16 ⋅ 733 阅读

GoAccess 简介

简单来说呢 GoAccess 是一个专门用来分析日志的工具,既可以在终端中展示结果,也可以生成 HTML 报表在浏览器中查看。GoAccess 最吸引人的一点就是它生成的 HTML 足够炫酷(ÒωÓױ)。

其他方面的特性包括

  1. 数据近乎是实时的——浏览器通过 WebSocket 从服务器上的 GoAccess 实时获取数据;

  2. 配置简单;

  3. 支持的日志格式多(反正只要支持 nginx 就行(ÒωÓױ))。


GoAccess v1.3 更新

这次GoAccess v1.3是一个主要版本,自上一版本以来提交了582次提交。最重要的更新是:i18n用于法语,西班牙语,中文和日语。它还增加了对openssl-1.1的WebSocket服务器的支持。现在可以包括自定义浏览器以及其他功能和修复程序。


GoAccess v1.3目前已经支持简体中文,上图即为实时输出的html截图,可以看到各个模块的名称和简介已经都是中文了,并且可以根据Linux默认语言来自动输出中文。 如果你有在使用GoAccess分析器的话,强烈建议你更新。

安装使用

遵循着能用包管理器安装的软件绝不编译的原则,用 Ubuntu 上的 apt 安装后发现版本太旧了,不支持 WebSocket 实时刷新数据,只好从头编译了。

  1. 安装依赖库

$ apt install libncursesw5-dev libssl-dev

由于我是通过 https 来访问到 GoAccess 生成的 HTML 的,GoAccess 使用的 WebSocket 也必须使用加密的wss:// 协议,需要安装 libssl-dev,你如果走 http 的话就不用安装这个包了。

  1. 下载源码

$ wget http://tar.goaccess.io/goaccess-1.2.tar.gz

为什么不从 GitHub 上克隆呢?因为这个是稳定版,要遵循少踩坑的原则└( ̄^ ̄ )┐

  1. 编译

$ tar -xf goaccess-1.2.tar.gz
$ cd goaccess-1.2/
$ ./configure --enable-utf8 --with-openssl
$ make -j2
$ make install

参数 -j2 让 make 可以同时编译两个文件,这样稍微快一些,我的 VPS 是单核的所以没有开太大(ノДT),还有 不需要走 https 的话可以去掉 --with-openssl 选项。

配置

GoAccess 的配置文件在 /etc/goaccess.conf,不过我喜欢把配置文件放在 $HOME。

~/.goaccessrc

time-format %H:%M:%S
date-format %d/%b/%Ylog-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"real-time-html true
ssl-cert <cert.crt>
ssl-key <priv.key>
ws-url wss://<your-domain>
port <port>
output /var/www/<xxx>/stat/index.html

需要注意的几点

  1. 三个 format 的设置要与 nginx 的设置一致,当然如果你像我这样根本没改过 nginx 的日志格式的话就用这个就行了;

  2. real-time-html 用来使用实时刷新特性;

  3. port 是用来和浏览器通信的,选一个没被占用的就行(别忘了在防火墙里开启端口!血的教训〒△〒 哭);

  4. 如果你不走 https 的话,ssl-certssl-keyws-url都不是必需的;

  5. 把 output 放到你的站点目录下面;

  6. 记着创建 stat/ (或者其他什么的)文件夹。

另外说一下 ws-url,我之前没有设置这个选项的时候 HTML 里 WebSocket 用的协议是 ws://, 浏览器是不允许在 https 网页里使用非加密协议的,找了一圈发现 ws-url 这个选项,其实我觉得应该叫 ws-scheme 才贴切呢(・∀・)

走起~

为了后台运行,我是用 Tmux 运行的,你也可以用 nohup 命令。
打开 Tmux 并启动 GoAccess

$ tmux
$ goaccess --config-file=.goaccessrc /var/log/nginx/access.log

一切正常的话 GoAccess 应该开始分析日志文件了,然后显示 "WebSocket server ready to accept new client connections"。
现在按下你 Tmux 的 PREFIX 键(默认是 Ctrl+B),再按 d 从 Tmux 中脱离出来,这样即使 ssh 断开连接了也能保持后台运行,想查错也可以用

$ tmux attach

连接刚才那个会话。
现在用浏览器打开 http://<your-domain>/stat/ 应该就可以看见分析结果了,每秒钟刷新一次数据。



---------------END----------------

后续的内容同样精彩

长按关注“IT实战联盟”哦




全部评论: 0

    我有话说:

    GoAccess 1.4.4 发布日志分析工具

    GoAccess 1.4.4 发布了。GoAccess 是一个基于终端的快速日志分析器。其核心思想是实时快速分析和查看 Web 服务器统计信息,而无需使用浏览器,适合希望通过 SSH 快速分析访问日

    Apache Kylin 3.1.1发布,开源分布式分析引擎

    Apache Kylin简介 Apache Kylin 是一个开源的分布式的 OLAP 分析引擎,来自 eBay 公司开发,基于 Hadoop 提供 SQL 接口和 OLAP 接口,支持 TB 到

    Kooteam 0.1.3 发布,重构系统日志模块,简化安装流程

    Kooteam是一款轻量级的在线团队协作工具,提供各类文档工具、在线思维导图、在线流程图、项目管理、任务分发工具,并接入了微信小程序,钉钉开放平台,使用便捷高效。

    PowerJob v3.3.2 已经发布,分布式任务调度中间

    PowerJob v3.3.2 已经发布,PowerJob 是全新一代分布式调度与计算框架,能让您轻松完成作业的调度与繁杂任务的分布式计算。 此版本更新内容包括: Features 支持控制台查看

    工具集001

      1.  Google项目管理工具 Tables   2. 终端 taskwarrior --- TODO List Taskwarrior is

    OkHttps v3.0.0 发布,对 OkHttp3 轻量封装的框架

    OkHttps v3.0.0 已经发布,此版本更新内容包括: 1、项目分割分离出 data 项目单独维护(JSON、XML 等结构化数据的统一抽象 API):https://gitee.com

    最全Mac工具

      MacTool Mac 开源免费工具汇总, 只罗列开源好用的。更全列表请参考awesome-mac 必备 Homebrew - 体验通过命令行安装 Mac 软件的工具(大部分是

    swagger-admin v1.3.5 已经发布,Swagger 文档管理后台

    swagger-admin v1.3.5 已经发布,这是一个Swagger文档管理后台,可统一管理多个项目的Swagger文档,只需要一个Java8环境,下载后即可运行使用。 支持导入json,非

    AppCode 2020.3.1 发布支持 Apple Silicon

    AppCode 2020.3.1 现已发布,并且用户可以在下载时选择支持 Apple Silicon 的版本。 具体更新内容 Swift:OptionSet 成员未在数组中解析 使用

    CKEditor 5 v23.1.0 发布支持嵌入 Raw HTML

    CKEditor 5 v23.1.0 稳定版已发布,主要更新内容包括:支持在编辑器嵌入原生 HTML 代码并进行渲染、改进 reconversion API 以及支持将表格内容粘贴到另一个表格

    Rocket.Chat 3.7.1 发布,开源的团队沟通工具

    简介 Rocket.Chat 是一款开源的团队协作沟通工具,提供实时交互、语音消息、视频会议、文件共享、链接预览等功能。   3.7.1更新内容 Rocket.Chat 3.7.1

    Apache Maven 3.8.1 发布,项目管理和构建工具

    Apache Maven 3.8.1 发布了。Apache Maven 是一个项目管理和构建工具。基于项目对象模型(POM)的概念, Maven 可以从中心位置管理项目的构建、报告和文档

    Python 3.9.1 发布支持苹果 M1 和 macOS 11 Big Sur

    Python 3.9.1 已正式发布。Python 3.9.1 是 Python 3.9 的第一个维护版本,也是第一个在 Apple Silicon 上原生支持 macOS 11 Big Sur 的

    HQChart 1.9444 版本发布, 优化绘图算法

    系统简介 HQChart是国内第1个基于传统PC股票客户端软件(C++)移植到js/py平台的一个项目, 包含K线图图形库及麦语法(分析家语法)指标执行器. 平台支持:js, vue, uniapp

    【开源资讯】Electron 10.1.4 发布,跨平台桌面应用开发工具

    简介 Electron 是 GitHub 发布的跨平台桌面应用开发工具支持 Web 技术开发桌面应用,其本身是基于 C++ 开发的,GUI 核心来自于 Chrome,而

    PrettyZoo V1.7.0,高颜值 Zookeeper 桌面工具

    期待已久的节点数据高亮功能。 v1.7.0 发布...

    Plumelog 3.3-RELEASE 已经发布,分布式日志组件

    简介Plumelog 一个简单易用的java分布式日志组件,码云GVP(最有价值开源项目)。 一.系统介绍 无入侵的分布式日志系统,基于log4j、log4j2、logback搜集日志

    JavaScript 引擎 V8 发布 8.3 版本,性能提升

    JavaScript 引擎 V8 发布了 8.3 版本

    Spring Boot Admin 2.3.1 发布,轻量的图形化监控工具

    Spring Boot Admin 2.3.1 发布,这是一个错误修正版本。现在可以从 maven 仓库 下载,支持 2.3.0 平滑升级 <dependency>