我正在努力让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.
有什么帮助吗?谢谢
如果您不想使用全局选项,请在goaccess中使用--no全局配置选项。我每天都在用这个来处理我的日志文件:
grep --color=auto `date +"%d/%b"` /var/log/nginx/sitename.access.log | goaccess --no-global-config > report.html
goaccess版本:0.8
通过日志格式更改解决:
log_format %^ %^ %h %^[%d:%^] "%r" %s %b "%R" "%u"
date_format %d/%b/%Y
首先,查看httpd.conf中的日志配置或vhost的站点配置文件。
然后遵循下一个逻辑。
combinedvhostapache日志格式配置:
%v%h%l%u%t\"%r\"%>s%b\"%{Referer}i\"\"%{User-Agent}i\
去访问:
apache-什么是?-如何访问
%v-vhost-%^忽略它
%h-主机-%h
%l-连字符-%^忽略它
%u-用户-%^忽略它
%t-时间戳-[%d:t%%^]忽略来自apache日志的区域
%r-请求-%r
%s-状态-%s
%b-大小-%b
%{referer}i-请求标头-%R
%{UAgent}i-用户代理-%u
的goaccess.conf
日志格式%^%h%^%^[%d:%t%^]"%r"%s%b"%r"%u"
-
请注意,在%r、%r和%u中,您将需要",因为这些都是文本字段(我认为)
-
请注意,在%u和日期之间,没有空格(我不知道为什么…)
带有:
时间格式%H:%M:%S
日期格式%d/%b/%Y
参考:
https://httpd.apache.org/docs/2.2/logs.html
http://goaccess.io/man