我正在努力让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 :(得分: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" 强>
请注意,在%r,%R和%u中,您需要"",因为这些是文本字段(我认为)
请注意,在%u和日期之间,没有空格(我不知道为什么......)
使用:
时间格式%H:%M:%S
日期格式%d /%b /%Y
参考: