標籤:
----Sevck 2016/3/4 17:24:13#1軟體說明:
GoAccess是一款開源、即時,運行在命令列終端下的web日誌分析工具。該工具提供快速、多樣的HTTP狀態統計,可以令管理員不再糾結於統計各類資料,和繁雜的指令以及一大堆管道/Regex說byebye。據GoAccess官方的說法:使用AMD Sempron 2.31GHz的CPU+2GB記憶體,開啟GoAccess所有功能,該軟體每秒可以處理10萬行日誌。當然,如果使用的CPU更強勁,擁有更多的記憶體,GoAccess的表現會更加出色。
#2 功能特色:
ü 產生統計資料,頻寬統計等
ü 每個請求的時間統計
ü 最高訪問ip
ü 請求的檔案統計
ü 請求的靜態檔案、圖片、flash、js檔案等
ü 各HTTP狀態代碼統計
ü Hosts,反向DNS,IP所在地
ü 作業系統
ü 瀏覽器/蜘蛛
ü 引用的網站
ü 引用的URLs
ü 關鍵片語
ü 地理位置 (大陸、國家、城市)
ü 可輸出JSON或CSV
ü 各種的顏色主題
ü 支援大容量資料且支援大容量資料的持續分析
ü 支援IPv6
ü 可產生HTML報告
#3安裝方法:
1.官網下載,編譯:
wget http://tar.goaccess.io/goaccess-0.8.1.tar.gz
tar -xzvf goaccess-0.8.1.tar.gz
cd goaccess-0.8.1/
./configure --enable-geoip --enable-utf8
make && make install
2.軟體包管理器安裝:
Debian/Ubuntu:
#apt-get install goaccess
Centos/Fedora:
yum install goaccess
OSX:
brew install goaccess
安裝完成之後我們就可以開始使用了,
測試是否安裝成功我們可以在終端輸入:goaccess -V(大寫)
就可以看到已經安裝成功了。
#4啟動參數介紹:
-b 流量消耗統計,如果想要提高解析速度,不要開啟這個選項。預設值為不開啟此選項
-f 記錄檔路徑。
-s HTTP 狀態代碼報告,為了能夠更好的解析日誌,選項被預設關閉。
-e 指定IP地址的訪問統計。
-a 通過代理的請求統計。
菜單介紹
F1 協助菜單
F5 重新整理
q 退出當前口窗、菜單、或是當前查看的選項
o 開啟當前的選項、菜單
c 改變視窗配色(目前只有兩種 預設和綠色)
SHIFT + TAB 從當前選定模組向後切換
RIGHT 開啟當前選中模組,查看詳細資料
s 通過日期排序,只會在訪問請求模組起作用
S 通過點擊次數排序,只會在訪問請求模組起作用
/ 查看詳細資料的視窗進行搜尋
n 通過/進行尋找後,尋找下個匹配的內容的位置,如果沒有則在視窗底 部顯示“search hit BOTTOM”
t 在查看詳細資料視窗,移動指標到最頂部
b 在查看詳細資料視窗,移動指標到最底部
其他設定
h 查看協助
v 查看版本
s 儲存方法
#5使用goaccess分析方法:
-f指定記錄檔就會啟動如下介面:
空格鍵為選擇,上下游標移動,斷行符號確定
Nginx日誌是屬於Combined Log Format (XLF/ELF)類型的,所以我們選擇第三個
如果你的不是nginx ,那麼到Vim /etc/goaccess.conf
找到:
#NCSA Combined Log Format with Virtual Host
#log-format %^:%^ %h %^[%d:%^] "%r" %s %b "%R" "%u"
去掉下面log-format前的#,如果沒有就寫一行如上代碼
把#去掉,修改格式即可。
工具載入完,頁面如下:
#6鍵盤操作:
- F1或h:協助
- F5 :重新整理主介面
- q:退出程式/當前視窗/摺疊當前模組
- o或Enter:展開選中的模組或視窗
- 0-9以及Shift + 0:將選中的模組或視窗啟用
- k和j:模組內部移動
- c:修改配色
- ^f和^b:模組中上下滾屏
- tab shift+tab:前後切換模組
- s:模組內部排序選擇
- /:在所有模組中搜尋(支援正則)
- n:找到下個匹配
- g和G:跳到第一項/最後一項
#7功能項:
- 表示每天特殊的訪問
- 請求最高的Top list
- 靜態請求top list
- 404沒有找到的URL
- 訪問最高的IP list
- 作業系統
- 瀏覽器
- 時間統計
- 來源網站
- 訪問國家
- HTTP響應代碼
#8其他分析技巧:
如果你的日誌是壓縮的日誌,可以使用如下命令即可:
zcat access.log.***.gz | goaccess
#或者:
zcat -f access.log.*.gz | goaccess
當然goaccess 還支援各種管道:
例如:
sed -n ‘/11/\Dec\2016,$p’ access.log | goaccess -a
想分析百度/google對網站的爬蟲:
grep -E “(google|baidu)”access.log | goaccess -a
Goaccess也支援產生html,csv,json格式的報告:
goaccess -f access.log -a >result.html
goaccess -f access.log -a -d -o json > result.json
goaccess -f access.log -o csv > result.csv
Ps :如果匯出HTML報告會遇到如下情況:
goaccess -f time_access.log -a > report.html
GoAccess - version 0.9.2 - Jul 15 2015 16:23:20
Config file: /usr/local/etc/goaccess.conf
Fatal error has occurred
Error occured at: src/parser.c - verify_formats - 1691
No time format was found on your conf file.
解決辦法:
vi ~/.goaccessrc
time-format %T
date-format %d/%b/%Y
log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"
#重新指定設定檔後執行
goaccess -f time_access.log -p ~/.goaccessrc -a > result.html
最後附上一張html的報表:
GoAccess日誌分析工具使用文檔