使用goaccess进行nginx日志分析

hus*_*snu 21 logging nginx log-analysis goaccess

我想用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.
Run Code Online (Sandbox Code Playgroud)

我试图将行添加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.
Run Code Online (Sandbox Code Playgroud)

我认为它要求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

Ily*_*a I 25

使用以下内容~/.goaccessrc:

date_format %d/%b/%Y:%T %z
log_format %h - - [%d] "%r" %s %b "%R" "%u"
Run Code Online (Sandbox Code Playgroud)

我从Goezy存储库中安装了GoAccess作为二进制包(没有源代码重新编译).

  • 并使用goaccess -f [log_file] -p~/.goaccessrc执行 (5认同)
  • 这对我有用,但我还必须在命令行添加--no-global-config. (3认同)

Kay*_*yla 14

假设您正在使用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


Dhi*_*kur 6

如果您不想在--no-global-configgoaccess中使用全局选项使用选项.我正在使用它来处理我的日志文件:

grep --color=auto `date +"%d/%b"` /var/log/nginx/sitename.access.log | goaccess --no-global-config > report.html
Run Code Online (Sandbox Code Playgroud)

goaccess版本:0.8