一、开源项目简介

GoAccess 是什么?

GoAccess 是一款开源的且具有交互视图界面的实时 Web 日志分析工具,通过你的 Web 浏览器或者 *nix 系统下的终端程序(terminal)即可访问。

能为系统管理员提供快速且有价值的 HTTP 统计,并以在线可视化服务器的方式呈现。

二、开源协议

使用MIT开源协议

三、界面展示

「开源」一款开源且具有交互视图界面的实时Web日志分析工具插图
「开源」一款开源且具有交互视图界面的实时Web日志分析工具插图1
「开源」一款开源且具有交互视图界面的实时Web日志分析工具插图2

四、功能概述

为什么要用 GoAccess?

GoAccess 被设计成快速的并基于终端的日志分析工具。其核心理念是不需要通过 Web 浏览器就能快速分析并实时查看 Web 服务器的统计数据(这对于需要使用 SSH 来对访问日志进行快速分析或者就是喜欢在终端环境下工作的人来说是超赞的)。

终端输出仅仅是默认的输出方式,GoAccess 还支持生成完整的实时 HTML 报告(这对分析、监控以及数据可视化都是极好的),以及 JSON 和 CSV 格式的报告。

关键功能 —完整功能列表

  • 快速实时, 毫秒/秒级更新, C 语言编写
  • 仅依赖 ncurses 模块
  • 几乎支持所有 Web 日志 格式 (Apache, Nginx, Amazon S3, Elastic Load Balancing, CloudFront, 等等)
  • 简单设置即可支持自定义格式日志
  • 漂亮的终端以及 bootstrap 风格控制面板 (易于将 GoAccess 调整为您自己的颜色搭配和风格)
  • 当然,我们还支持 Valgrind 测试。

特色功能速览…

  • 完全实时:所有面板以及指标均按照指定时间间隔更新,在终端(Terminal)下是200ms,HTML则是每秒。
  • 支持几乎所有 Web 日志格式:GoAccess 允许任意自定义日志格式。 可预定义的格式包括: Apache, Nginx, Amazon S3, Elastic Load Balancing, CloudFront, 等等
  • 跟踪应用响应时间:跟踪处理请求的时间消耗。对于解决站点页面访问速度下降非常有用。
  • 增长日志处理:需要持续保持数据?GoAccess 有能力处理在磁盘上以 B+Tree 数据库存储并且不断增长的日志。
  • 仅依赖一个模块:GoAccess 是用 C 语言编写的。 仅仅需要 ncurses 这一个模块即可运行。同时 GoAccess 甚至还拥有自己的兼容 RFC6455 协议的 Web Socket 服务器。
  • 易于使用:您可以直接运行 GoAccess 去处理您的访问日志文件,仅需选取日志格式然后让 GoAccess 解析日志内容并将统计结果展示出来。
  • 访客画像:可以按照小时或者指定日期确定最慢请求的访问次数,访客数量,带宽以及其他相关度量值。
  • 支持虚拟主机:拥有多个虚拟主机?在控制面板中能够显示出哪一个虚拟主机消耗 Web 服务器上最多的资源。
  • 配色风格可定制:GoAccess 的配色风格十分易于定制化。无论是通过终端,还是仅仅通过简单修改 HTML 页面的层叠样式表。

五、技术选型

多种风格的实时日志分析控制面板

「开源」一款开源且具有交互视图界面的实时Web日志分析工具插图3

漂亮的终端控制面板

GoAccess 默认实时输出到终端。GoAccess 在一个可以滚动显示的面板中通过展示不同的报告摘要来向您呈现服务器的各种指标。

「开源」一款开源且具有交互视图界面的实时Web日志分析工具插图4

更喜欢HTML风格的报告?

除了通过终端输出,GoAccess 允许您生成 HTML,JSON 或者 CSV 格式的报告。您甚至可以通过电子邮件发送 HTML 报告,因为它是由没有外部文件依赖的单个文件组成,是不是很酷!

「开源」一款开源且具有交互视图界面的实时Web日志分析工具插图5

发现问题主机/机器人

使用主机面板可以非常容易的发现不怀好意的爬虫/机器人以及标记出谁吃掉了你的带宽资源。同时还能够显示每一台主机上的 User Agents 列表。

「开源」一款开源且具有交互视图界面的实时Web日志分析工具插图6

易于操作的面板

控制面板由不同的报告组成 — 报告面板可以扩展以显示更多信息,这样您就可以快速的在不同报告之间找出他们的相互关系。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。