炫酷可視化WEB日誌分析工具–GoAccess
GoAccess 是一款開源的且具有交互視圖界面的實時Web 日誌分析工具,通過你的Web 瀏覽器或者*nix 系統下的終端程序(terminal)即可訪問。
能為系統管理員提供快速且有價值的HTTP 統計,並以在線可視化服務器的方式呈現。
國內中文站:https://www.goaccess.cc/
demo預覽:https://rt.goaccess.io/?20170729002319
編譯安裝
安裝GoAccess非常的容易。只需要下載、解壓以及編譯就好了:
$ wget http://tar.goaccess.io/goaccess-1.2.tar.gz $ tar -xzvf goaccess-1.2.tar.gz $ cd goaccess-1.2/ $ ./configure –enable-utf8 –enable-geoip =legacy $ make # make install
注意:僅僅需要依賴ncurses模塊。
提示:如果需要使用實時HTML報告,請確保開放7890端口。
配置選項
GoAccess擁有多個配置選項。獲取完整的最新配置選項列表,請運行:./configure –help
–enable-debug
使用調試標誌編譯且關閉編譯器優化。
–enable-utf8
寬字符支持。依賴Ncursesw模塊。
–enable-geoip=<legacy|mmdb>
地理位置支持。依賴MaxMind GeoIP模塊。legacy將使用原始GeoIP數據庫。mmdb將使用增強版GeoIP2數據庫。
–enable-tcb=<memhash|btree>
Tokyo Cabinet存儲支持。memhash將使用Tokyo Cabinet的內存哈希數據庫。btree將使用Tokyo Cabinet的磁盤B+Tree數據庫。
–disable-zlib
禁止在B+Tree數據庫上使用zlib壓縮。
–disable-bzip
禁止在B+Tree數據庫上使用bzip2壓縮。
–with-getline
使用動態擴展行緩衝區用來解析完整的行請求,否則將使用固定大小(4096)的緩衝區。
–with-openssl
使GoAccess與其WebSocket服務器之間的通信能夠支持OpenSSL。
在各主流Linux發行版上安裝GoAccess
使用您正在使用的Linux發行版的包管理器來安裝GoAccess是非常簡單的。需要注意的是並不是所有的發行版都同步更新了最新的GoAccess可用版本。
Debian/Ubuntu
# apt-get install goaccess
注意:此操作無法保證總是提供最新的穩定版本。要使用最新的GoAccess穩定版本請參考上文。
官方GoAccess Debian/Ubuntu倉庫
$ echo “deb http://deb.goaccess.io/ $(lsb_release -cs) main” | sudo tee -a /etc/apt/sources.list.d/goaccess.list $ wget – O – https://deb.goaccess.io/gnugpg.key | sudo apt-key add – $ sudo apt-get update $ sudo apt-get install goaccess
Fedora
# yum install goaccess
Arch Linux
# pacman -S goaccess
Gentoo
# emerge net-analyzer/goaccess
OS X / Homebrew
# brew install goaccess
注意:如果需要GeoIP,請在上面的命令行後添加–with-libmaxminddb 。您將需要從MaxMind下載城市/國家數據庫,並且使用–geoip-database詳細指定需要用到的數據庫。
FreeBSD
# pkg install sysutils/goaccess
OpenBSD
# pkg_add goaccess
pkgsrc (NetBSD, Solaris, SmartOS, …)
# pkgin install goaccess
Slackware
# curl https://slackbuilds.org/slackbuilds/14.1/system/goaccess.tar.gz | tar xvz # cd goaccess/ # GEOIP=yes ./goaccess.SlackBuild
Windows
GoAccess可以通過Cygwin運行在Windows系統下。
Docker
在Docker容器中運行GoAccess之前,請先在/srv/goaccess/data目錄下創建配置文件。您可以自行從頭開始或者使用config/goaccess.conf作為起點並根據需要進行修改。
一份最小化的支持實時HTML 報告的適用於Docker 容器的配置文件至少需要設置以下這些選項:log-format, log-file, output, real-time-html 以及ws-url。
配置文件準備好以後,請從Github 上克隆源碼倉庫到本地:
$ git clone https://github.com/allinurl/goaccess.git goaccess && cd $_
接著請按照如下步驟創建並運行鏡像:
docker build . -t allinurl/goaccess
docker run –restart=always -d -p 7890:7890 \
-v “/srv/goaccess/data:/srv/data” \
-v “/srv/goaccess/html:/ srv/report” \
-v “/var/log/apache2:/srv/logs” \
–name=goaccess allinurl/goaccess
注意:可能您需要替換/var/log/apache2為您自己的Web服務器的訪問日誌。
如果一切順利,一份安裝報告將會出現在/srv/goaccess/html/ 目錄下。
如果在構建鏡像之後修改了配置文件,是不需要重新構建的。簡單的重啟容器即可:
docker restart goaccess
更多信息請查閱README.md文件中有關Docker的章節。
通過GitHub(開發者)構建
$ git clone https://github.com/allinurl/goaccess.git
$ cd goaccess $ autoreconf -fi
$ ./configure –enable-geoip –enable-utf8
$ make # make install