2013-08-05 90 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