1. 程式人生 > >日誌分析工具 GoAccess v1.3 釋出,支援簡體中文和安裝使用

日誌分析工具 GoAccess v1.3 釋出,支援簡體中文和安裝使用

GoAccess 簡介

簡單來說呢 GoAccess 是一個專門用來分析日誌的工具,既可以在終端中展示結果,也可以生成 HTML 報表在瀏覽器中檢視。GoAccess 最吸引人的一點就是它生成的 HTML 足夠炫酷(ÒωÓױ)。
GoAccess.png

其他方面的特性包括

1、資料近乎是實時的——瀏覽器通過 WebSocket 從伺服器上的 GoAccess 實時獲取資料;
2、配置簡單;
3、支援的日誌格式多(反正只要支援 nginx 就行(ÒωÓױ))。

GoAccess v1.3 更新

這次GoAccess v1.3是一個主要版本,自上一版本以來提交了582次提交。最重要的更新是:i18n用於法語,西班牙語,中文和日語。它還增加了對openssl-1.1的WebSocket伺服器的支援。現在可以包括自定義瀏覽器以及其他功能和修復程式。

GoAccess v1.3目前已經支援簡體中文,上圖即為實時輸出的html截圖,可以看到各個模組的名稱和簡介已經都是中文了,並且可以根據Linux預設語言來自動輸出中文。 如果你有在使用GoAccess分析器的話,強烈建議你更新。

安裝使用

遵循著能用包管理器安裝的軟體絕不編譯的原則,用 Ubuntu 上的 apt 安裝後發現版本太舊了,不支援 WebSocket 實時重新整理資料,只好從頭編譯了。

安裝依賴庫

$ apt install libncursesw5-dev libssl-dev
由於我是通過 https 來訪問到 GoAccess 生成的 HTML 的,GoAccess 使用的 WebSocket 也必須使用加密的wss:// 協議,需要安裝 libssl-dev,你如果走 http 的話就不用安裝這個包了。

下載原始碼
$ wget http://tar.goaccess.io/goaccess-1.2.tar.gz

為什麼不從 GitHub 上克隆呢?因為這個是穩定版,要遵循少踩坑的原則└( ̄^ ̄ )┐

##### 編譯
$ tar -xf goaccess-1.2.tar.gz
$ cd goaccess-1.2/
$ ./configure --enable-utf8 --with-openssl
$ make -j2
$ make install

引數 -j2 讓 make 可以同時編譯兩個檔案,這樣稍微快一些,我的 VPS 是單核的所以沒有開太大(ノДT),還有 不需要走 https 的話可以去掉 --with-openssl 選項。

配置

GoAccess 的配置檔案在 /etc/goaccess.conf,不過我喜歡把配置檔案放在 $HOME。

~/.goaccessrc

time-format %H:%M:%S
date-format %d/%b/%Ylog-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"real-time-html true
ssl-cert <cert.crt>
ssl-key <priv.key>
ws-url wss://<your-domain>
port <port>
output /var/www/<xxx>/stat/index.html

需要注意的幾點

三個 format 的設定要與 nginx 的設定一致,當然如果你像我這樣根本沒改過 nginx 的日誌格式的話就用這個就行了;
real-time-html 用來使用實時重新整理特性;
port 是用來和瀏覽器通訊的,選一個沒被佔用的就行(別忘了在防火牆裡開啟埠!血的教訓〒△〒 哭);
如果你不走 https 的話,ssl-cert,ssl-key,ws-url都不是必需的;
把 output 放到你的站點目錄下面;
記著建立 stat/ (或者其他什麼的)資料夾。
另外說一下 ws-url,我之前沒有設定這個選項的時候 HTML 裡 WebSocket 用的協議是 ws://, 瀏覽器是不允許在 https 網頁裡使用非加密協議的,找了一圈發現 ws-url 這個選項,其實我覺得應該叫 ws-scheme 才貼切呢(・∀・)

走起~

為了後臺執行,我是用 Tmux 執行的,你也可以用 nohup 命令。
開啟 Tmux 並啟動 GoAccess

$ tux
$ goaccess --config-file=.goaccessrc /var/log/nginx/access.log
一切正常的話 GoAccess 應該開始分析日誌檔案了,然後顯示 "WebSocket server ready to accept new client connections"。

現在按下你 Tmux 的 PREFIX 鍵(預設是 Ctrl+B),再按 d 從 Tmux 中脫離出來,這樣即使 ssh 斷開連線了也能保持後臺執行,想查錯也可以用

$ tux attach

連線剛才那個會話。
現在用瀏覽器開啟 http:///stat/ 應該就可以看見分析結果了,每秒鐘重新整理一次資料。

貢獻者

更多精彩內容可以關注“IT實戰聯盟”公號哦~~~