APP下载

GoAccess:一个实时的 Web 日志分析器及互动式检视器

消息来源:baojiabao.com 作者: 发布时间:2024-05-30

报价宝综合消息GoAccess:一个实时的 Web 日志分析器及互动式检视器

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

-- Vinoth Kumar(作者)

分析日志档案对于 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中国 荣誉推出

点选“了解更多”可访问文内连结

2020-01-09 17:53:00

相关文章