<meta charset="utf-8">
GoAccess 是一款開源的且具有交互視圖界面的實時 Web 日志分析工具,通過你的 Web 瀏覽器或者 *nix 系統下的終端程序(terminal)即可訪問。能為系統管理員提供快速且有價值的 HTTP 統計,并以在線可視化服務器的方式呈現。
安裝
在官網或者中文網站(https://www.goaccess.cc/
)上下載源碼包,解壓后編譯安裝
tar -zxvf goaccess-1.2.tar.gz #解壓
./configure --enable-geoip --enable-utf8 #安裝前配置
make && make install #安裝
使用
使用過程中最重要的一步就是配置日志格式,GoAccess提供了兩種方式配置日志格式,命令行和窗口形式。
%x 匹配 time-format 和 date-format 變量的日期和時間字段。用于使用時間戳來代替日期和時間兩個獨立變量的場景。
%t 匹配 time-format 變量的時間字段。
%d 匹配 date-format 變量的日期字段。
%v 根據 canonical 名稱設定的服務器名稱(服務區或者虛擬主機)。
%e 請求文檔時由 HTTP 驗證決定的用戶 ID。
%h 主機(客戶端IP地址,IPv4 或者 IPv6)。
%r 客戶端請求的行數。這些請求使用分隔符(單引號,雙引號)
%m 請求的方法。
%U 請求的 URL。
%q 查詢字符串。
%H 請求協議。
%s 服務器回傳客戶端的狀態碼。
%b 回傳客戶端的對象的大小。
%R HTTP 請求的 "Referer" 值。
%u HTTP 請求的 "UserAgent" 值。
%D 處理請求的時間消耗,使用微秒計算。
%T 處理請求的時間消耗,使用帶秒和毫秒計算。
%L 處理請求的時間消耗,使用十進制數表示的毫秒計算。
%^ 忽略此字段。
%~ 繼續解析日志字符串直到找到一個非空字符(!isspace)。
~h 在 X-Forwarded-For (XFF) 字段中的主機(客戶端 IP 地址,IPv4 或者 IPv6)。
1、配置窗口
通過下面的命令進入到配置窗口
goaccess -f filename
- 首先通過上下方向鍵選擇一個模板,并按空格鍵選擇
- 選擇好后下面的Log Format 、Date Format、Time Format會出現模板里面預設的日志格式,通過上面的提示按c、d、t進入到對應的項目進行修改
- 修改完成后按esc退出編輯
- 按enter鍵開始日志分析
2、通過命令行直接配置
下面的命令可以直接在命令行查看分析結果
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
下面的命令可以將分析結果導出為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