nginx分析日志利器goaccess

簡介

GoAccess主頁 http://goaccess.prosoftcorp.com/
它是一個日志分析工具,并不只是為nginx使用的。你也可以用它來分析apache,IIS的日志,甚至你自己寫的web服務,當然前提是你需要定義好解析的日志格式。誠如見到一個美女,你會一眼喜歡上它的幾個功能有:
1 解析速度快
2 使用簡單
3 能生成html,json,csv

安裝

添加epel源
因為下面所需依賴需要在epel中下載

wget http://mirrors.aliyun.com/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm
yum repolist

goaccess安裝

yum install glib2 glib2-devel GeoIP-devel  ncurses-devel zlib zlib-devel
cd /home/tools
wget http://tar.goaccess.io/goaccess-0.9.1.tar.gz
tar -xzvf goaccess-0.9.1.tar.gz
cd goaccess-0.9.1/
./configure --enable-geoip --enable-utf8
make
make install
cp /usr/local/etc/goaccess.conf /etc/

#添加時間格式到配置文件,以后啟動指定配置文件則不需要再選擇
cat >>/etc/goaccess.conf<<EOF
time-format %H:%M:%S
date-format %d/%b/%Y
log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"
EOF
###############################

日志格式:
%t 時間字段匹配的time_format變量。
%d 字段匹配的date_format變量。
%h host(客戶端IP地址,IPv4或IPv6)
%r 請求從客戶端。這需要特定的分隔符全要求(如單引號,雙引號,或者別的什么東西)來解析。如果不是,我們必須結合使用特殊格式說明符 %m %U %H
%m 請求的方法。
%U 在URL路徑的要求(包括任何查詢字符串)。
%H 請求協議。
%s 狀態碼,服務器發送回客戶端。
%b 對象的大小返回給客戶端。
%R 以上的referer HTTP請求頭。
%u 在用戶代理HTTP請求頭。
%D 時間服務請求,在微秒。
%T 時間,服務要求,在秒。注:%D先于%T如果同時使用。
%^ 忽略這一領域

控制臺使用GoAccess

F1 主幫助頁面
F5 重繪主窗口
q 退出程序或者當前{詳細視圖}(窗口)
o 打開當前激活模塊的詳細視圖
c 設置或改變配色方案
TAB 向前迭代模塊。從當前激活模塊開始。
SHIFT + TAB 向后迭代模塊。從當前激活模塊開始。
RIGHT ARROW 打開當前激活模塊的詳細視圖
0-9 激活模塊,這樣用戶就可以使用o或^RIGHT ARROW^打開{詳細視圖}
SHIFT + 0-9 激活超過10的模塊
s 根據日期進行獨立訪客排序。僅在獨立訪客模塊(1)有效。
S 根據點擊數進行獨立訪客排序。僅在獨立訪客模塊(1)有效。
/ 向前在任意{詳細視圖}窗口搜索輸入模式(pattern)。
n 在任意{詳細視圖}窗口中找到下一次出現的位置。
t 跳到第一個條目或屏幕頂端
b 跳到最后一個條目或者屏幕底部

啟動參數介紹

-b 流量消耗統計,如果想要提高解析速度,不要開啟這個選項。缺省值為不開啟此選項
-f 日志文件路徑。
-s HTTP 狀態碼報告,為了能夠更好的解析日志,選項被默認關閉。 -e 指定IP地址的訪問統計。
-a 通過代理的請求統計。
-d --with-output-resolver 在HTML輸出或者json輸出中開啟IP 解析,如果開啟了-d,goaccess就會使用GEOIP來進行IP解析。
-e --exclude-ip=<ip address> Host模塊中不需要被統計的IP,比如可以將爬蟲的IP過濾掉
-h --help 幫助文檔
-H --http-protocol 顯示的時候是否帶上HTTP協議信息
-m --with-mouse 控制面板開啟支持鼠標點擊,帶上了m之后,雙擊鼠標就相當于回車的操作
-M --http-method 是否帶上HTTP方法信息
-o --output-format=csv|json 輸出為csv或者json形式
-p --conf-file=<filename> 指定配置文件,如果你有配置文件,配置文件中又恰巧設置了log-format和date,那么你就不會被強制進入到format對話框了。如果你沒有設置的話,默認使用~/.goacessrc。
-q --no-query-string 忽略請求的參數部分
-r --no-term-resolver 在Host模塊中是否進行IP的解析。加上-r是禁止IP解析。
--no-color 輸出無顏色標示
--real-os 展示真實的操作系統。在Operation System模塊中,是否展示更詳細的操作系統信息。

控制臺登錄

goaccess -a -d -f /var/log/apache2/access.log -p /etc/goaccess.conf
控制臺頁面展示

生成html頁面展示

goaccess -a -d -f /var/log/apache2/access.log -p /etc/goaccess.conf >/home/app/www.goaccess.com/index.html
web頁面展示
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容