如何使用goaccess解析多个nginx日志文件

问题描述 投票:0回答:1

我想解析我的所有 nginx 日志(你可以在这里看到):

ls /var/log/nginx/
access.log    access.log.21.gz  error.log.1      error.log.22.gz
access.log.1      access.log.22.gz  error.log.10.gz  error.log.23.gz
access.log.10.gz  access.log.23.gz  error.log.11.gz  error.log.24.gz
access.log.11.gz  access.log.24.gz  error.log.12.gz  error.log.2.gz
access.log.12.gz  access.log.2.gz   error.log.13.gz  error.log.3.gz
access.log.13.gz  access.log.3.gz   error.log.14.gz  error.log.4.gz
access.log.14.gz  access.log.4.gz   error.log.15.gz  error.log.5.gz
access.log.15.gz  access.log.5.gz   error.log.16.gz  error.log.6.gz
access.log.16.gz  access.log.6.gz   error.log.17.gz  error.log.7.gz
access.log.17.gz  access.log.7.gz   error.log.18.gz  error.log.8.gz
access.log.18.gz  access.log.8.gz   error.log.19.gz  error.log.9.gz
access.log.19.gz  access.log.9.gz   error.log.20.gz
access.log.20.gz  error.log     error.log.21.gz

但我不知道该怎么做。首先,goaccess 似乎无法解析 .gz 文件。

解析这些日志中包含的所有信息的最佳方法是什么?

logging nginx goaccess
1个回答
82
投票

引用手册页并假设您有组合日志格式:

如果我们想处理所有 access.log.*.gz,我们可以执行以下操作之一:

zcat -f access.log* | goaccess --log-format=COMBINED

zcat access.log.*.gz | goaccess --log-format=COMBINED

在 Mac OS X 上,使用

gunzip -c
而不是
zcat

© www.soinside.com 2019 - 2024. All rights reserved.