22

我想用goaccess解析和分析 nginx 日志,并从分析的日志中获取报告。但是,当我运行zcat -f access.log.*.gz | goaccess -a -c命令时,它给了我以下错误:

GoAccess - version 0.5 - Jun 26 2012 04:30:08
An error has occurred
Error occured at: parser.c - process_log - 584
Message: No date format was found on your conf file.

我试图将该行添加date_format %D %T到 .goaccessrc 文件中,但出现另一个错误:

GoAccess - version 0.5 - Jun 26 2012 04:30:08
An error has occurred
Error occured at: parser.c - process_log - 588
Message: No log format was found on your conf file.

我认为它要求 nginx 使用的日期和日志格式。但我的 nginx 配置中没有任何日期或日志格式。

此外,我尝试使用以前版本的 goaccess(0.4.2 版本)并且该zcat -f access.log.*.gz | goaccess -a -c命令工作正常。它不要求任何日期或日志格式,我可以查看 goaccess 菜单,我可以查看任何想要的数据。

但是当我尝试使用zcat -f access.log.*.gz | goaccess -a -c > report.html 命令获取 html 报告时,它什么也没做。它只是等待和等待。(没有给出任何警告或错误)

注意:我已经检查过这个网页,如果你也想看看。

  1. http://goaccess.prosoftcorp.com/faq
  2. http://wiki.nginx.org/HttpLogModule
4

4 回答 4

25

得到它与以下工作~/.goaccessrc

date_format %d/%b/%Y:%T %z
log_format %h - - [%d] "%r" %s %b "%R" "%u"

我将 GoAccess 作为来自 wheezy 存储库的二进制包安装(无需重新编译源代码)。

于 2013-05-19T12:24:24.440 回答
15

假设您使用的是 CLF 格式字符串,我将使用它运行goaccess-c然后NCSA Combined Log Format从配置菜单中进行选择。

在此处输入图像描述

"$time_local"在 nginx 中被替换为"23/Aug/2010:03:50:59 +0000"添加date_format %d/%b/%Y到您的 ~/.goaccessrc 中应该这样做。

更新 1

从源代码安装 v0.5

  1. Download最新版本

  2. tar -xzvf goaccess-0.5.tar.gz

  3. cd goaccess-0.5/

  4. ./configure --enable-utf8

  5. make

  6. sudo make install

  7. goaccess -a -c /var/log/apache2/access.log

    注意:如果您已经安装了它,那么您可能只需要在使用前执行第 7 步zcat

于 2012-09-23T20:48:57.710 回答
6

如果您不想使用全局选项,请使用--no-global-configgoaccess 选项。我每天都使用它来处理我的日志文件:

grep --color=auto `date +"%d/%b"` /var/log/nginx/sitename.access.log | goaccess --no-global-config > report.html

访问版本:0.8

于 2014-05-23T10:23:53.397 回答
3

我和你遇到了同样的问题!配置文件路径正确“/etc/goaccess.conf”尝试这样做

    echo "date_format %d/%b/%Y
> log_format %h %^[%d:%^] “%r” %s %b “%R” “%u” %T
> time_format %H:%M:%S" >> /etc/goaccess.conf

再试一次,祝你成功

于 2016-03-14T08:05:19.780 回答