如何在Linux或Unix上使用Nginx安装GoAccess Web日志分析器

时间:2020-01-09 10:39:19  来源:igfitidea点击:

GoAccess是在终端中运行的实时Apache/Nginx/Lighttpd Web日志分析器和交互式查看器,可为需要即时生成可视报告的系统管理员提供快速而有价值的HTTP统计信息。
如何在Ubuntu Linux服务器上安装GoAccess?
如何在Linux或类似Unix的系统上安装和使用GoAccess?

GoAccess是一个免费且开源的实时Web日志分析器和交互式查看器,可在Linux/Unix/* BSD系统的终端中或通过浏览器运行。
他的教程显示了如何在Linux/Unix上安装GoAccess以及如何在* nix命令行上使用它。

安装GoAccess

您必须按照Linux或Unix发行版安装GoAccess。

在Ubuntu Linux上安装GoAccess

执行以下apt-get命令/apt命令,如下所示:

$ sudo apt-get install goaccess

输出示例:
如何在Ubuntu Linux服务器上安装GoAccess

在Debian Linux上安装GoAccess

执行以下apt-get命令/apt命令,如下所示:

$ sudo apt-get install goaccess

在Alpine Linux上安装GoAccess

执行以下apk命令,如下所示:

# apk add goaccess

在CentOS Linux上安装GoAccess

首先打开EPEL存储库,然后执行以下yum命令,如下所示:

$ sudo yum install epel-release
$ sudo yum install goaccess

在Fedora Linux上安装GoAccess

首先打开EPEL存储库,然后执行以下dnf命令,如下所示:

$ sudo dnf install epel-release
$ sudo dnf install goaccess

在Arch Linux上安装GoAccess

执行以下pacman命令,如下所示:

# pacman -S goaccess

在FreeBSD UNIX上安装GoAccess

要安装端口:

# cd /usr/ports/sysutils/goaccess/ && make install clean

或要添加包:

# pkg install goaccess

在macOS UNIX(自制)上安装GoAccess

执行以下brew命令:

$ brew install goaccess

在OpenBSD UNIX上安装GoAccess

输入以下pkg_add命令:

$ doas pkg_add 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 -f /var/log/nginx/access.log

将提示您选择"日志格式配置":
设置日志文件的日志格式

接下来,您将看到如下报告:

在屏幕上查看交互式报告

重要快捷键

您可以使用以下键:

  • q退出程序。h查看帮助。
  • 0-9Shift + 0将所选模块设置为活动状态。
  • j在扩展模块中向下滚动。
  • k在扩展模块中向上滚动。
  • c设置或更改方案颜色。
  • ^ f向前滚动活动模块中的一个屏幕。
  • ^ b在活动模块内向后滚动一个屏幕。
  • TAB切换模块(向前)。
  • SHIFT + TAB切换模块(向后)。
  • s对活动模块的排序选项。
  • 跨所有模块的" /搜索"(允许使用正则表达式)。
  • n查找下一次出现的位置。
  • g移至第一项或屏幕顶部。
  • G移至屏幕的最后一项或底部。

如何生成HTML报告?

语法为:

goaccess -f /var/log/nginx/access.log --log-format=COMBINED -o www.theitroad.com.log.html

输出示例:

Parsing... [669] [1112]

您可以使用网络浏览器查看报告。
这是一个示例报告:

https://www.theitroad.local/files/goaccess/www.theitroad.com.log.html

如何在基于ssh的会话上使用goaccess?

语法为:

$ ssh [email protected] 'cat /var/log/nginx/access.log'|goaccess --log-format=COMBINED -a 
$ ssh [email protected] 'cat /var/log/nginx/access.log'|goaccess --log-format=COMBINED 
$ ssh [email protected] 'cat /var/log/nginx/access.log'|goaccess --log-format=COMBINED -o www.theitroad.com.log.htm 

如何在浏览器中查看实时统计信息?

如下运行:

$ goaccess -f access.log -o report.html --real-time-html --addr=192.168.1.254 --port=8022