GoAccess:一个实时的 Web 日志分析器及交互式查看器
创始人
2024-03-02 02:52:56
0

分析日志文件对于 Linux 管理员来说是一件非常令人头疼的事情,因为它记录了很多东西。大多数新手和初级管理员都不知道如何分析。如果你在分析日志方面拥有很多知识,那么你就成了 *NIX 系统高手。

Linux 中有许多工具可以轻松分析日志。GoAccess 是允许用户轻松分析 Web 服务器日志的工具之一。我们将在本文中详细讨论 GoAccess 工具。

GoAccess

GoAccess 是一个实时 Web 日志分析器和交互式查看器,可以在 *nix 系统中的终端运行或通过浏览器访问。

GoAccess 需要的依赖极少,它是用 C 语言编写的,只需要 ncurses。

它支持 Apache、Nginx 和 Lighttpd 日志。它为需要动态可视化服务器报告的系统管理员即时提供了快速且有价值的 HTTP 统计信息。

GoAccess 可以解析指定的 Web 日志文件并将数据输出到 X 终端和浏览器。

GoAccess 被设计成一个基于终端的快速日志分析器。其核心思想是实时快速分析和查看 Web 服务器统计信息,而无需使用浏览器。

默认输出是在终端输出,它也能够生成完整的、自包含的实时 HTML 报告,以及 JSON 和 CSV 报告。

GoAccess 支持任何自定义日志格式,并包含以下预定义日志格式选项:Apache/Nginx 中的组合日志格式 XLF/ELF,Apache 中的通用日志格式 CLF,但不限于此。

GoAccess 功能

  • 完全实时:所有指标在终端上每 200 毫秒更新一次,在 HTML 输出上每秒更新一次。
  • 跟踪应用程序响应时间:跟踪服务请求所需的时间。如果你想跟踪减慢了网站速度的网页,则非常有用。
  • 访问者:按小时或日期确定最慢运行的请求的点击量、访问者数、带宽数和指标。
  • 按虚拟主机的度量标准:如果有多个虚拟主机(Server),它提供了一个面板,可显示哪些虚拟主机正在消耗大部分 Web 服务器资源。

如何安装 GoAccess?

我建议用户在包管理器的帮助下从发行版官方的存储库安装 GoAccess。它在大多数发行版官方存储库中都可用。

我们知道,我们在标准发行方式的发行版中得到的是过时的软件包,而滚动发行方式的发行版总是包含最新的软件包。

如果你使用标准发行方式的发行版运行操作系统,我建议你检查替代选项,如 PPA 或 GoAccess 官方维护者存储库等,以获取最新的软件包。

对于 Debian / Ubuntu 系统,使用 APT-GET 命令APT 命令在你的系统上安装 GoAccess。

# apt install goaccess

要获取最新的 GoAccess 包,请使用以下 GoAccess 官方存储库。

$ echo "deb https://deb.goaccess.io/ $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list.d/goaccess.list
$ wget -O - https://deb.goaccess.io/gnugpg.key | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get install goaccess

对于 RHEL / CentOS 系统,使用 YUM 包管理器在你的系统上安装 GoAccess。

# yum install goaccess

对于 Fedora 系统,使用 DNF 包管理器在你的系统上安装 GoAccess。

# dnf install goaccess

对于基于 ArchLinux / Manjaro 的系统,使用 Pacman 包管理器在你的系统上安装 GoAccess。

# pacman -S goaccess

对于 openSUSE Leap 系统,使用Zypper 包管理器在你的系统上安装 GoAccess。

# zypper install goaccess
# zypper ar -f obs://server:http
# zypper ref && zypper in goaccess

如何使用 GoAccess?

成功安装 GoAccess 后。只需输入 goaccess 命令,然后输入 Web 服务器日志位置即可查看。

# goaccess [options] /path/to/Web Server/access.log
# goaccess /var/log/apache/2daygeek_access.log

执行上述命令时,它会要求您选择日志格式配置。

我用 Apache 访问日志对此进行了测试。Apache 日志被分为十五个部分。详情如下。主要部分显示了这十五个部分的摘要。

以下屏幕截图包括四个部分,例如唯一身份访问者、请求的文件、静态请求、未找到的网址。

以下屏幕截图包括四个部分,例如访客主机名和 IP、操作系统、浏览器、时间分布。

以下屏幕截图包括四个部分,例如来源网址、来源网站,Google 的搜索引擎结果、HTTP状态代码。

如果要生成 html 报告,请使用以下命令。最初我在尝试生成 html 报告时遇到错误。

# goaccess 2daygeek_access.log -a > report.html

GoAccess - version 1.3 - Nov 23 2018 11:28:19
Config file: No config file used

Fatal error has occurred
Error occurred at: src/parser.c - parse_log - 2764
No time format was found on your conf file.Parsing... [0] [0/s]

它说“你的 conf 文件没有找到时间格式”。要解决此问题,请为其添加 “COMBINED” 日志格式选项。

# goaccess -f 2daygeek_access.log --log-format=COMBINED -o 2daygeek.html
Parsing...[0,165] [50,165/s]

GoAccess 也允许你访问和分析实时日志并进行过滤和解析。

# tail -f /var/log/apache/2daygeek_access.log | goaccess -

更多细节请参考其 man 手册页或帮助。

# man goaccess
或
# goaccess --help

via: https://www.2daygeek.com/goaccess-a-real-time-web-server-log-analyzer-and-interactive-viewer/

作者:Vinoth Kumar 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

使用Rkhunter在Ce...
守护CentOS系统安全:rkhunter实战应用指南 在服务器运...
2025-03-18 06:14:19
CentOS最小化安装后必...
CentOS最小化安装后的基础配置与优化步骤详解 对于初次接触Ce...
2025-03-12 06:12:56
如何解决CentOS系统关...
CentOS关闭Tomcat报错的原因分析与解决指南 在使用Cen...
2025-03-07 12:20:43
如何在CentOS上安装并...
CentOS Sysstat工具:系统监控与性能分析的利器 在Li...
2025-03-05 06:38:05
CentOS默认邮件配置位...
CentOS系统自带邮件服务功能解析 作为Linux服务器常用发行...
2025-03-01 23:21:47
CentOS下如何查看与管...
文件找不到:提示“404 Not Found”,这就好比你去图书馆...
2025-02-25 21:50:33

热门资讯

使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
Bazzite:专为 Stea... 为 Linux 桌面或者 Steam Deck 做好游戏准备,听起来都很刺激!对于一个专为 Linu...
Motrix:一个漂亮的跨平台... 一个开源的下载管理器,提供了一个简洁的用户界面,同时提供了跨平台操作的所有基本功能。在这里了解关于它...
Bash 脚本中如何使用 he... here 文档 here document (LCTT 译注:here 文档又称作 heredoc ...
使用 dialog 和 jq ... 为何选择文字用户界面(TUI)?许多人每日都在使用终端,因此, 文字用户界面 Text User I...