by Devin Yang

建立於: 1年前 ( 更新: 1年前 )

在開始前我先說一下,GoAcess也能產出靜態資料只要您有log,
因為我覺的即時感覺比較炫,所以本文將專注在GoAccess即時顯示的部分進行介紹。

雖然Google Analytics(GA)很好用,但試試另一種GA感覺也很不錯,
例如您想了解網站使用者用什麼瀏覽器訪網站。

我在好幾年前自己的筆記有寫過GoAceee這款工具了,但真的太久,久到自己都忘了有這東西。
下方是早期的舊畫面,來回憶一下,本篇我就來Update一下我的最新做法。


開始前,先Show一下新的UI吧,圖中綠色的登號代表了WebSocket是有正確連線的,所以當使用者開啟了網站即時回應在畫面上。


本文我會採phpenv的環境進行說明,因為簡單好設定,但基本上phpenv就是包著docker的bash,不是包著羊度的狼哦。🤪
所以phpenv能跑,您的Docker環境設定好應該也不成問題。
如果您想搜尋phpenv可下關鍵字deviny/phpenv,就能找到囉。

那就直接開始吧,非常簡單。😎

第一步: 在phpenv中,我們可以用如下的指令導出nginx的log,可透過Ctrl+c停止

./console logs --no-log-prefix -f web|tee nginx.log

如果您不是用phpenv可將./console換成docker-compsoe試您的運氣,您的容器服務名稱可能不叫web,請自行調整。

第二步: 開啟另一個終端機,進行簡易驗證,第一步的指令中,會產生nginx.log在phpenv目錄中了。
我們可以下tail -f nginx.log指令,再開網頁,看看log會不會跑,如果會動您差不多成功了。

始用Ctrl+c中斷。

第三步:  查看環境設定檔,phpenv提供簡易的./info指令,可以讓我們查看容器的專案的環境設定
留意HTTP_PORT及FOLDER這兩個設定,跟本次操作有關。

第四步: 設定您的專案路徑,安全考量,您可以用phpenv啟動另一台不公開的WEB,或者把report.html名稱改複雜的名稱(下方指令中)。
在這裡,我直接用目前ccc專案開啟測試,ccc專案內網使用的port 1056,Laravel專案資料夾是/volume1/docker/ccc。
所以,GoAccess指令如下,請自行揣摩:

tail -f nginx.log|
docker run -p 7890:7890 --rm -i -e LANG=$LANG allinurl/goaccess -a -o html --log-format COMBINED --real-time-html - >  /volume1/docker/ccc/public/report.html

在上方兩行指令,全部拷貝貼上終端機,他會將nginx.log的標準輸出丟給goaccess的官方容器處理。
您需留意,換掉我後方的Proejct目錄/volume1/docker/ccc/public/report.html
這個容器預設會開啟port 7890的WebSocket用來傳輸資料。
上方的指令啟動前,您也可以先清一下nginx.log,因為不正確的log檔會啟動失敗。

$ >nginx.log

下圖是我啟動的結果:

我的主機內網IP是192.168.99.130,所以我就能開啟下方網址,看即時分析囉。

http://192.168.99.130:1056/report.html

你如果想改WSS的port,例如換成7800,請冒號兩邊一起換,並加上--port 7800參數,指令如下:

tail -f nginx.log|
> docker run -p 7800:7800 --rm -i -e LANG=$LANG allinurl/goaccess --port 7800 -a -o html --log-format COMBINED --real-time-html - >  /volume1/docker/ccc/public/report.html
 [SETTING UP STORAGE -] {0} @ {0/s}

如果您想深入專研,可以用Docker指令列出幫助說明哦

docker run --rm allinurl/goaccess --help

實際操作畫面如下載圖

以上就是輕鬆快速執行GoAcess的操作啦。

在bash的環境下,我們可以透過nohup及&把這兩個指令放到背景執行。

nohup ./console logs --no-log-prefix -f web|tee nginx.log &
nohup tail -f nginx.log|
docker run -p 7890:7890 --rm -i -e LANG=$LANG allinurl/goaccess -a -o html --log-format COMBINED --real-time-html - >  /volume1/docker/ccc/public/report.html &


最後附上官方下載網址:

https://goaccess.io/download

 

Tags: docker goaccess config

Devin Yang

文章內容無法一一說明,如果您有什麼不了解處,歡迎提問哦:)

No Comment

Post your comment

需要登入才可留言!

類似的文章


docker,polymer,seo

用Rendertron解決Polymer SEO問題(Polymer Summit 2017)

文章下方的影片介紹如何使用rendertron解決Polymer SEO優化的問題。 在我fork的source中,已調整支援中文環境。 並且還加入了pdf的API接口,也可以拿來轉pdf。

polymer,docker

D-Laravel預設支援index.html了

D-Laravel的nginx環境設定預設支援index.html了,簡單說 現在除了,可以用D-Laravel跑Laravel的Project,也可以拿來跑其他的Project。 目前Apple的WebKit對Service-Workers已經是in preview了....

wordpress, d-laravel, docker, docker-compose

如何用D-Laravel安裝Wordpress

約8分鐘的教學影片,介紹在D-Laravel上安裝Wordpress. D-Laravel是一個docker-compose的Laravel框架開發環境,但不代表他不能拿來裝別的東西。 這個影片,介紹使用D-Laravel安裝非Laravel的PHP專案, 您可以學到D-Laravel上的相關指令用法: ./create --host用法, docker-compose up -d及 ./console mysql用法, D-Laravel v1.0.0版後的資料庫連線設定方式。