<meta charset="utf-8">
GoAccess 是一款開源的且具有交互視圖界面的實(shí)時(shí) Web 日志分析工具,通過(guò)你的 Web 瀏覽器或者 *nix 系統(tǒng)下的終端程序(terminal)即可訪問(wèn)。能為系統(tǒng)管理員提供快速且有價(jià)值的 HTTP 統(tǒng)計(jì),并以在線可視化服務(wù)器的方式呈現(xiàn)。
安裝
在官網(wǎng)或者中文網(wǎng)站(https://www.goaccess.cc/
)上下載源碼包,解壓后編譯安裝
tar -zxvf goaccess-1.2.tar.gz #解壓
./configure --enable-geoip --enable-utf8 #安裝前配置
make && make install #安裝
使用
使用過(guò)程中最重要的一步就是配置日志格式,GoAccess提供了兩種方式配置日志格式,命令行和窗口形式。
%x 匹配 time-format 和 date-format 變量的日期和時(shí)間字段。用于使用時(shí)間戳來(lái)代替日期和時(shí)間兩個(gè)獨(dú)立變量的場(chǎng)景。
%t 匹配 time-format 變量的時(shí)間字段。
%d 匹配 date-format 變量的日期字段。
%v 根據(jù) canonical 名稱設(shè)定的服務(wù)器名稱(服務(wù)區(qū)或者虛擬主機(jī))。
%e 請(qǐng)求文檔時(shí)由 HTTP 驗(yàn)證決定的用戶 ID。
%h 主機(jī)(客戶端IP地址,IPv4 或者 IPv6)。
%r 客戶端請(qǐng)求的行數(shù)。這些請(qǐng)求使用分隔符(單引號(hào),雙引號(hào))
%m 請(qǐng)求的方法。
%U 請(qǐng)求的 URL。
%q 查詢字符串。
%H 請(qǐng)求協(xié)議。
%s 服務(wù)器回傳客戶端的狀態(tài)碼。
%b 回傳客戶端的對(duì)象的大小。
%R HTTP 請(qǐng)求的 "Referer" 值。
%u HTTP 請(qǐng)求的 "UserAgent" 值。
%D 處理請(qǐng)求的時(shí)間消耗,使用微秒計(jì)算。
%T 處理請(qǐng)求的時(shí)間消耗,使用帶秒和毫秒計(jì)算。
%L 處理請(qǐng)求的時(shí)間消耗,使用十進(jìn)制數(shù)表示的毫秒計(jì)算。
%^ 忽略此字段。
%~ 繼續(xù)解析日志字符串直到找到一個(gè)非空字符(!isspace)。
~h 在 X-Forwarded-For (XFF) 字段中的主機(jī)(客戶端 IP 地址,IPv4 或者 IPv6)。
1、配置窗口
通過(guò)下面的命令進(jìn)入到配置窗口
goaccess -f filename

- 首先通過(guò)上下方向鍵選擇一個(gè)模板,并按空格鍵選擇
- 選擇好后下面的Log Format 、Date Format、Time Format會(huì)出現(xiàn)模板里面預(yù)設(shè)的日志格式,通過(guò)上面的提示按c、d、t進(jìn)入到對(duì)應(yīng)的項(xiàng)目進(jìn)行修改
- 修改完成后按esc退出編輯
- 按enter鍵開始日志分析
2、通過(guò)命令行直接配置
下面的命令可以直接在命令行查看分析結(jié)果
goaccess -f access.log-20200619 --log-format="%h %^[%d:%t %^] \"%r\" %s %b \"%R\" \"%u\"" --date-format="%d/%b/%Y" --time-format=%H:%M:%S

下面的命令可以將分析結(jié)果導(dǎo)出為html文件,在瀏覽器查看
goaccess -f access.log-20200619 --log-format="%h %^[%d:%t %^] \"%r\" %s %b \"%R\" \"%u\"" --date-format="%d/%b/%Y" --time-format=%H:%M:%S --hour-spec=min -o /data/nginx-log.html
