2013-08-05 92 views
4

我试图让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. 

任何帮助吗? 谢谢。

+0

'[ $ d]'? GoAccess中没有看到'$'符号。 – Anto

回答

1

通过日志格式变化解决了:

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

如果你不想使用全局选项使用与goaccess --no-全球配置选项。 我用这来处理在一天一天的基础上我的日志文件:

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

goaccess版本:0.8

1

首先,查看您在httpd.conf或成虚拟主机站点的配置文件配置日志。

然后按照下一个逻辑。

combinedvhost apache的日志格式配置:

%体积%H%1%U%吨\ “%r \” %>取值%B \ “%{Referer的} I \” \“%{用户 - 代理} I \

到goaccess:

阿帕奇 - 是什么 - 如何在goaccess

%v - 虚拟主机 - %^忽略它

%H - 主机 - %H

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

%u - 用户 - %^忽略它

%叔 - 时间戳 - [%d:吨%%^]忽略从Apache日志

%R - 请求 - %R

%S - 状态 - %S

%b - 大小 - %b

%{引荐} I - 请求头部 - %R

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

goaccess。CONF

日志格式%^%H%^%^ [%d:%T%^] “%R” %S%b “的%R” “%U”

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

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

附:

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

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

参考:

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

http://goaccess.io/man