GoAccess 是一款開源的且具有交互視圖界面的實(shí)時(shí) Web 日志分析工具,通過你的 Web 瀏覽器或者 *nix 系統(tǒng)下的終端程序(terminal)即可訪問迄埃。能為系統(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 #安裝
使用
使用過程中最重要的一步就是配置日志格式滤港,GoAccess提供了兩種方式配置日志格式鼠冕,命令行和窗口形式兰英。
%x 匹配 time-format 和 date-format 變量的日期和時(shí)間字段。用于使用時(shí)間戳來代替日期和時(shí)間兩個(gè)獨(dú)立變量的場景供鸠。
%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扎筒、配置窗口
通過下面的命令進(jìn)入到配置窗口
goaccess -f filename
- 首先通過上下方向鍵選擇一個(gè)模板莱找,并按空格鍵選擇
- 選擇好后下面的Log Format 、Date Format嗜桌、Time Format會(huì)出現(xiàn)模板里面預(yù)設(shè)的日志格式奥溺,通過上面的提示按c、d骨宠、t進(jìn)入到對(duì)應(yīng)的項(xiàng)目進(jìn)行修改
- 修改完成后按esc退出編輯
- 按enter鍵開始日志分析
2浮定、通過命令行直接配置
下面的命令可以直接在命令行查看分析結(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