goaccess解析不工作

时间:2013-08-05 19:38:07

标签: apache logging goaccess

我正在努力让goaccess工作。 已经花了一些时间在文档和示例上,但没有成功。

基本上我有以下日志行:

10031488_71334 xpto.domain.com 88.103.999.999 - - [16/Jun/2013:15:03:26 +0000] "GET / HTTP/1.1" 500 5624 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0" -

并且已经编译了goaccess并创建了一个conf文件:

cat ~/.goaccessrc
date_format %d/%b/%Y:%T %z
log_format %^ %^ %h - - [$d] "%r" %s %b "%R" "%u" %^

然后我得到了:

./goaccess -a -f miniout.log

GoAccess - version 0.6 - Aug  5 2013 20:20:16

An error has occurred
Error occured at: goaccess.c - render_screens - 358
Message: Nothing valid to process.

有任何帮助吗? 感谢。

3 个答案:

答案 0 :(得分:2)

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

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

goaccess版本:0.8

答案 1 :(得分:1)

解决日志格式更改为:

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

答案 2 :(得分:1)

首先,检查您在httpd.conf中的日志配置或vhost的站点配置文件。

然后按照下一个逻辑。

combinedvhost apache日志格式配置:

%v%h%l%u%t \"%r \" %> s%b \"%{Referer} i \" \"%{的User-Agent} I \

goaccess:

apache - 是什么? - 如何在goaccess

%v - vhost - %^忽略它

%h - 主持人 - %h

%l - 连字符 - %^忽略它

%u - 用户 - %^忽略它

%t - 时间戳 - [%d:t%%^]忽略来自apache日志的区域

%r - 请求 - %r

%s - 状态 - %s

%b - 大小 - %b

%{referer} i - 请求标头 - %R

%{UAgent} i - 用户代理 - %u

goaccess.conf

log-format%^%h%^%^ [%d:%t%^]"%r" %s%b"%R" "%U"

  1. 请注意,在%r,%R和%u中,您需要"",因为这些是文本字段(我认为)

  2. 请注意,在%u和日期之间,没有空格(我不知道为什么......)

  3. 使用:

    时间格式%H:%M:%S

    日期格式%d /%b /%Y

    参考:

    https://httpd.apache.org/docs/2.2/logs.html

    http://goaccess.io/man