close

由於網站時常不穩,在偵錯時,常要分析大量的網站伺服器連線紀錄檔...

經由外部顧問的介紹,認識了 GoAccess這個免費、開放原始碼且強大的apache log分析軟體~

 

GoAccess 主要支援 linux 系統下的安裝,如果在windows環境要使用的話,它另有支援windows的版本叫作CowAxess

GoAccess 可以分析即時在線的apache log,也可以當作容器,將現有的log檔丟進去分析

官網下載:https://goaccess.io/download

 

1.安裝 (以CentOS 7 為例)

由於GoAccess是以C語言編寫,所以會有與 ncurses 和 gcc 的相依性,先安裝ncurses 和 gcc

sudo yum -y install ncurses-devel gcc

安裝 geoip 套件,可從IP分析出地區

sudo yum -y install geoip-devel tokyocabinet-devel

下載&安裝最新版 (版本可以參考上方的官網)

wget http://tar.goaccess.io/goaccess-1.4.2.tar.gz
tar -xzvf goaccess-1.4.2.tar.gz

安裝套件

cd goaccess-1.4.2
sudo ./configure --enable-utf8 --enable-geoip=legacy
sudo make
sudo make install

在 /usr/bin 建立 soft link

sudo ln -s /usr/local/bin/goaccess /usr/bin/goaccess

 

2.設定

開啟 /local/etc/goaccess/ 底下的 goaccess.conf

取消註解 以下的時間格式

image

接著是日期格式

image

最後取消註解 NCSA的 log格式

image

儲存,即完成設定。

 

3.分析

3-1.文字分析-即時報表

輸入 goaccess + 檔案路徑,可以用文字模式即時分析log

sudo goaccess /var/log/httpd/access_log --log-format=COMBINED

image

 

3-2.文字分析-長期歷史報表

可以將 GoAccess 當作容器,把長期的數據丟進去交給GoAccess分析

sudo cat /var/log/httpd/access_log.* | goaccess 

 

3-3. html格式圖表式報表

若要方便檢視,可產出圖表式的報表,方便閱讀。

sudo cat /var/log/httpd/access_log | goaccess > /var/www/html/report.html

會輸出 report.html 檔(檔名可以自行取),打開來後會長得像下圖,立刻看起來專業許多~~ 

image

 

**若要排除特定IP位址,例如公司內部的IP,則可以用 -e

sudo goaccess -f /var/log/httpd/access_log -e 192.168.0.92-192.168.0.99

 

如果有任何 GoAccess 的使用心得,或是其他推薦的 log analyzer,都歡迎大家在下方留言交流哦!

arrow
arrow
    創作者介紹
    創作者 clover75 的頭像
    clover75

    種子種子快長大

    clover75 發表在 痞客邦 留言(0) 人氣()